使用Slider组件调整曲线参数
2017-11-22 11:35
459 查看
一 代码
二 运行结果
大小: 36.8 KB
查看图片附件
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.widgets importSlider,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')
#设置坐标轴刻度范围
plt.axis([0,1,-10,10])
axColor ='lightgoldenrodyellow'
#创建两个Slider组件,分别设置位置/尺寸、背景色和初始值
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组件设置事件处理函数
def update(event):
#获取Slider组件的当前值,并以此来更新图形
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)
#创建按钮组件,用来恢复初始值
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()
二 运行结果
大小: 36.8 KB
查看图片附件
相关文章推荐
- Web jquery表格组件 JQGrid 的使用 - 4.JQGrid参数、ColModel API、事件及方法
- 2 C#串口或TCP远程采集数据 chart图表使用示例 保存数据到access数据库和每日.txt文件并实时显示各参数曲线
- 如何使用PS曲线调整对比度、亮度及色调
- [Impala--使用注意]--调整对应的参数(cdh-5.8.x版本)
- Angular 使用tabset 动态加载组件参数注入
- 使用ulimit和proc去调整系统参数
- 微信小程序例子——使用slider设置数据值和switch开关组件
- 在应用服务器参数自适应调整中使用Model Predictive control的意义
- #调整随机森林的参数(调整n_estimators随机森林中树的数量默认10个树,精度递增显著,但并不是越多越好),加上verbose=True,显示进程使用信息
- 如何使用PS曲线调整对比度、亮度及色调
- 微信小程序使用slider设置数据值及switch开关组件功能【附源码下载】
- 两种模型选择和超参数调整方法及Spark MLlib使用示例(Scala/Java/Python)
- 使用Cross-validation (CV) 调整Extreme learning Machine (ELM) 最优参数的实现(matlab)
- tapestry 中使用枚举类型作为组件参数的方法
- 使用matplotlib绘制三维参数曲线
- ODP.NET的ODAC组件使用输出参数(Out Parameter)时注意事项
- [SQL2005]SSIS中ExecuteSQL TASK组件关于参数的使用
- SSIS中ExecuteSQL TASK组件关于参数的使用 SQL2005(zz)
- Layui table 组件的使用之初始化加载数据、数据刷新表格、传参数
- 使用ulimit和proc去调整系统参数