Python使用matplotlib實(shí)現(xiàn)交換式圖形顯示功能示例
本文實(shí)例講述了Python使用matplotlib實(shí)現(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):
#隨機(jī)選擇一個(gè)頻率,同時(shí)設(shè)置單選鈕的選中項(xiàng)
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])
#隨機(jī)選擇一個(gè)顏色,同時(shí)設(shè)置單選鈕的選中項(xiàng)
c = choice(colors)
radio2.set_active(colors.index(c))
l.set_color(c)
#隨機(jī)選擇一個(gè)線型,同時(shí)設(shè)置單選鈕的選中項(xiàng)
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()
二 運(yùn)行結(jié)果

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)學(xué)運(yùn)算技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門(mén)與進(jìn)階經(jīng)典教程》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
- 解決python中用matplotlib畫(huà)多幅圖時(shí)出現(xiàn)圖形部分重疊的問(wèn)題
- Python3使用Matplotlib 繪制精美的數(shù)學(xué)函數(shù)圖形
- Python使用matplotlib繪制三維圖形示例
- Python使用matplotlib繪制多個(gè)圖形單獨(dú)顯示的方法示例
- Python基于matplotlib實(shí)現(xiàn)繪制三維圖形功能示例
- Python實(shí)現(xiàn)在tkinter中使用matplotlib繪制圖形的方法示例
- Python使用matplotlib實(shí)現(xiàn)繪制自定義圖形功能示例
- Python使用matplotlib填充圖形指定區(qū)域代碼示例
- Python matplotlib繪制圖形實(shí)例(包括點(diǎn),曲線,注釋和箭頭)
相關(guān)文章
pyecharts繪制儀表盤(pán)的實(shí)現(xiàn)
有時(shí)候大家想把自己繪制好的可視化圖片集中到一個(gè)頁(yè)面,整合成儀表盤(pán),集中給同事或者他人來(lái)呈現(xiàn),但又不知道該怎么做,今天小編就來(lái)分享一個(gè)pyecharts繪制儀表盤(pán)的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2021-06-06
python調(diào)用Delphi寫(xiě)的Dll代碼示例
這篇文章主要介紹了python調(diào)用Delphi寫(xiě)的Dll代碼示例,具有一定參考價(jià)值,需要的朋友可以了解下。2017-12-12
Python3.5 win10環(huán)境下導(dǎo)入kera/tensorflow報(bào)錯(cuò)的解決方法
這篇文章主要介紹了Python3.5 win10環(huán)境下導(dǎo)入keras/tensorflow報(bào)錯(cuò)的解決方法,較為詳細(xì)的分析了Python3.5在win10環(huán)境下導(dǎo)入keras/tensorflow提示錯(cuò)誤的原因與相關(guān)解決方法,需要的朋友可以參考下2019-12-12
Python控制臺(tái)輸出俄羅斯方塊移動(dòng)和旋轉(zhuǎn)功能
這篇文章主要介紹了Python控制臺(tái)輸出俄羅斯方塊移動(dòng)和旋轉(zhuǎn)功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04
Python深度學(xué)習(xí)之Keras模型轉(zhuǎn)換成ONNX模型流程詳解
這篇文章主要介紹了Python深度學(xué)習(xí)之Keras模型轉(zhuǎn)換成ONNX模型流程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2022-09-09
解決Python的requests中text中文亂碼的問(wèn)題
學(xué)習(xí)Python爬蟲(chóng)時(shí)遇到中文亂碼問(wèn)題,發(fā)現(xiàn)req.text返回的是unicode,無(wú)法再次decode,通過(guò)查看網(wǎng)站源碼,發(fā)現(xiàn)網(wǎng)站使用的是gbk編碼,Requests會(huì)自動(dòng)解碼來(lái)自服務(wù)器的內(nèi)容,但有時(shí)推測(cè)錯(cuò)誤,通過(guò)設(shè)置r.encoding為gbk,然后對(duì)text進(jìn)行編碼,可以正確打印出中文2025-01-01

