Python使用matplotlib實現(xiàn)交換式圖形顯示功能示例
本文實例講述了Python使用matplotlib實現(xiàn)交換式圖形顯示功能。分享給大家供大家參考,具體如下:
一 代碼
from random import choice
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.widgets import RadioButtons,Button
t = np.arange(0.0,2.0,0.01)
s0 = np.sin(2*np.pi*t)
s1 = np.sin(4*np.pi*t)
s2 = np.sin(8*np.pi*t)
fig, ax = plt.subplots()
l,= ax.plot(t, s0, lw=2, color='red')
plt.subplots_adjust(left=0.3)
#定義允許的幾種頻率,并創(chuàng)建單選鈕組件
#其中[0.05, 0.7, 0.15, 0.15]表示組件在窗口上的歸一化位置
axcolor ='lightgoldenrodyellow'
rax = plt.axes([0.05,0.7,0.15,0.15], axisbg=axcolor)
radio =RadioButtons(rax,('2 Hz','4 Hz','8 Hz'))
hzdict ={'2 Hz': s0,'4 Hz': s1,'8 Hz': s2}
def hzfunc(label):
ydata = hzdict[label]
l.set_ydata(ydata)
plt.draw()
radio.on_clicked(hzfunc)
#定義允許的幾種顏色,并創(chuàng)建單選鈕組件
rax = plt.axes([0.05,0.4,0.15,0.15], axisbg=axcolor)
colors =('red','blue','green')
radio2 =RadioButtons(rax, colors)
def colorfunc(label):
l.set_color(label)
plt.draw()
radio2.on_clicked(colorfunc)
#定義允許的幾種線型,并創(chuàng)建單選鈕組件
rax = plt.axes([0.05,0.1,0.15,0.15], axisbg=axcolor)
styles =('-','--','-.','steps',':')
radio3 =RadioButtons(rax, styles)
def stylefunc(label):
l.set_linestyle(label)
plt.draw()
radio3.on_clicked(stylefunc)
#定義按鈕單擊事件處理函數(shù),并在窗口上創(chuàng)建按鈕
def randomFig(event):
#隨機選擇一個頻率,同時設(shè)置單選鈕的選中項
hz = choice(tuple(hzdict.keys()))
hzLabels =[label.get_text()for label in radio.labels]
radio.set_active(hzLabels.index(hz))
l.set_ydata(hzdict[hz])
#隨機選擇一個顏色,同時設(shè)置單選鈕的選中項
c = choice(colors)
radio2.set_active(colors.index(c))
l.set_color(c)
#隨機選擇一個線型,同時設(shè)置單選鈕的選中項
style = choice(styles)
radio3.set_active(styles.index(style))
l.set_linestyle(style)
#根據(jù)設(shè)置的屬性繪制圖形
plt.draw()
axRnd = plt.axes([0.5,0.015,0.2,0.045])
buttonRnd =Button(axRnd,'Random Figure')
buttonRnd.on_clicked(randomFig)
#顯示圖形
plt.show()
二 運行結(jié)果

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)學(xué)運算技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程》
希望本文所述對大家Python程序設(shè)計有所幫助。
- 解決python中用matplotlib畫多幅圖時出現(xiàn)圖形部分重疊的問題
- Python3使用Matplotlib 繪制精美的數(shù)學(xué)函數(shù)圖形
- Python使用matplotlib繪制三維圖形示例
- Python使用matplotlib繪制多個圖形單獨顯示的方法示例
- Python基于matplotlib實現(xiàn)繪制三維圖形功能示例
- Python實現(xiàn)在tkinter中使用matplotlib繪制圖形的方法示例
- Python使用matplotlib實現(xiàn)繪制自定義圖形功能示例
- Python使用matplotlib填充圖形指定區(qū)域代碼示例
- Python matplotlib繪制圖形實例(包括點,曲線,注釋和箭頭)
相關(guān)文章
Python3.5 win10環(huán)境下導(dǎo)入kera/tensorflow報錯的解決方法
這篇文章主要介紹了Python3.5 win10環(huán)境下導(dǎo)入keras/tensorflow報錯的解決方法,較為詳細(xì)的分析了Python3.5在win10環(huán)境下導(dǎo)入keras/tensorflow提示錯誤的原因與相關(guān)解決方法,需要的朋友可以參考下2019-12-12
Python控制臺輸出俄羅斯方塊移動和旋轉(zhuǎn)功能
這篇文章主要介紹了Python控制臺輸出俄羅斯方塊移動和旋轉(zhuǎn)功能,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-04-04
Python深度學(xué)習(xí)之Keras模型轉(zhuǎn)換成ONNX模型流程詳解
這篇文章主要介紹了Python深度學(xué)習(xí)之Keras模型轉(zhuǎn)換成ONNX模型流程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2022-09-09

