Python使用Slider組件實(shí)現(xiàn)調(diào)整曲線參數(shù)功能示例
本文實(shí)例講述了Python使用Slider組件實(shí)現(xiàn)調(diào)整曲線參數(shù)功能。分享給大家供大家參考,具體如下:
一 代碼
import numpy as np import matplotlib.pyplot as plt from matplotlib.widgets import Slider,Button,RadioButtons fig, ax = plt.subplots() plt.subplots_adjust(left=0.1, bottom=0.25) t = np.arange(0.0,1.0,0.001) #初始振幅與頻率,并繪制初始圖形 a0, f0=5,3 s = a0*np.sin(2*np.pi*f0*t) l,= plt.plot(t, s, lw=2, color='red') #設(shè)置坐標(biāo)軸刻度范圍 plt.axis([0,1,-10,10]) axColor ='lightgoldenrodyellow' #創(chuàng)建兩個Slider組件,分別設(shè)置位置/尺寸、背景色和初始值 axfreq = plt.axes([0.1,0.1,0.75,0.03], axisbg=axColor) sfreq =Slider(axfreq,'Freq',0.1,30.0, valinit=f0) axamp = plt.axes([0.1,0.15,0.75,0.03], axisbg=axColor) samp =Slider(axamp,'Amp',0.1,10.0, valinit=a0) #為Slider組件設(shè)置事件處理函數(shù) def update(event): #獲取Slider組件的當(dāng)前值,并以此來更新圖形 amp = samp.val freq = sfreq.val l.set_ydata(amp*np.sin(2*np.pi*freq*t)) plt.draw() #fig.canvas.draw_idle() sfreq.on_changed(update) samp.on_changed(update) def adjustSliderValue(event): ampValue = samp.val +0.05 if ampValue >10: ampValue =0.1 samp.set_val(ampValue) freqValue = sfreq.val +0.05 if freqValue >30: freqValue =0.1 sfreq.set_val(freqValue) update(event) axAdjust = plt.axes([0.6,0.025,0.1,0.04]) buttonAdjust =Button(axAdjust,'Adjust', color=axColor, hovercolor='red') buttonAdjust.on_clicked(adjustSliderValue) #創(chuàng)建按鈕組件,用來恢復(fù)初始值 resetax = plt.axes([0.8,0.025,0.1,0.04]) button =Button(resetax,'Reset', color=axColor, hovercolor='yellow') def reset(event): sfreq.reset() samp.reset() button.on_clicked(reset) ###用來控制圖形顏色的 ##rax = plt.axes([0.025, 0.5, 0.15, 0.15], axisbg=axColor) ##radio = RadioButtons(rax, ('red', 'blue', 'green'), active=0) ##def colorfunc(label): ## l.set_color(label) ## fig.canvas.draw_idle() ##radio.on_clicked(colorfunc) 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入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設(shè)計(jì)有所幫助。
- 詳解用Python為直方圖繪制擬合曲線的兩種方法
- python matplotlib庫繪制散點(diǎn)圖例題解析
- python matplotlib庫繪制條形圖練習(xí)題
- python matplotlib庫直方圖繪制詳解
- Python 堆疊柱狀圖繪制方法
- Python繪制堆疊柱狀圖的實(shí)例
- Python繪制頻率分布直方圖的示例
- Python+pyplot繪制帶文本標(biāo)注的柱狀圖方法
- python繪制雙Y軸折線圖以及單Y軸雙變量柱狀圖的實(shí)例
- 使用Python繪制圖表大全總結(jié)
- python學(xué)習(xí)之matplotlib繪制散點(diǎn)圖實(shí)例
- python使用matplotlib繪制折線圖教程
相關(guān)文章
Python3字符串的常用操作方法之修改方法與大小寫字母轉(zhuǎn)化
這篇文章主要介紹了Python3字符串的常用操作方法之修改方法與大小寫字母轉(zhuǎn)化,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09Python編程入門之Hello World的三種實(shí)現(xiàn)方式
這篇文章主要介紹了Python編程入門之Hello World的三種實(shí)現(xiàn)方式,實(shí)例分析了print輸出函數(shù)的使用及控制臺輸出的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11Pandas中datetime數(shù)據(jù)類型的使用
本文主要介紹了Pandas中datetime數(shù)據(jù)類型的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-12-12一文詳解如何配置Pycharm進(jìn)行遠(yuǎn)程開發(fā)
在搞深度學(xué)習(xí)的時(shí)候,我們在本地開發(fā),但是需要在服務(wù)器去運(yùn)行工程,所以需要使用Pycharm進(jìn)行遠(yuǎn)程配置,下面這篇文章主要給大家介紹了關(guān)于如何配置Pycharm進(jìn)行遠(yuǎn)程開發(fā)的相關(guān)資料,需要的朋友可以參考下2024-02-02Python求兩點(diǎn)之間的直線距離(2種實(shí)現(xiàn)方法)
今天小編就為大家分享一篇Python求兩點(diǎn)之間的直線距離(2種實(shí)現(xiàn)方法),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07