怎么在Python中使用matplotlib实现一个交换式图形显示功能(matplotlib,python,开发技术)

时间:2024-05-04 09:52:48 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

这篇文章将为大家详细讲解有关怎么在Python中使用matplotlib实现一个交换式图形显示功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

一 代码

fromrandomimportchoiceimportnumpyasnpimportmatplotlib.pyplotaspltfrommatplotlib.widgetsimportRadioButtons,Buttont=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)#定义允许的几种频率,并创建单选钮组件#其中[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,('2Hz','4Hz','8Hz'))hzdict={'2Hz':s0,'4Hz':s1,'8Hz':s2}defhzfunc(label):ydata=hzdict[label]l.set_ydata(ydata)plt.draw()radio.on_clicked(hzfunc)#定义允许的几种颜色,并创建单选钮组件rax=plt.axes([0.05,0.4,0.15,0.15],axisbg=axcolor)colors=('red','blue','green')radio2=RadioButtons(rax,colors)defcolorfunc(label):l.set_color(label)plt.draw()radio2.on_clicked(colorfunc)#定义允许的几种线型,并创建单选钮组件rax=plt.axes([0.05,0.1,0.15,0.15],axisbg=axcolor)styles=('-','--','-.','steps',':')radio3=RadioButtons(rax,styles)defstylefunc(label):l.set_linestyle(label)plt.draw()radio3.on_clicked(stylefunc)#定义按钮单击事件处理函数,并在窗口上创建按钮defrandomFig(event):#随机选择一个频率,同时设置单选钮的选中项hz=choice(tuple(hzdict.keys()))hzLabels=[label.get_text()forlabelinradio.labels]radio.set_active(hzLabels.index(hz))l.set_ydata(hzdict[hz])#随机选择一个颜色,同时设置单选钮的选中项c=choice(colors)radio2.set_active(colors.index(c))l.set_color(c)#随机选择一个线型,同时设置单选钮的选中项style=choice(styles)radio3.set_active(styles.index(style))l.set_linestyle(style)#根据设置的属性绘制图形plt.draw()axRnd=plt.axes([0.5,0.015,0.2,0.045])buttonRnd=Button(axRnd,'RandomFigure')buttonRnd.on_clicked(randomFig)#显示图形plt.show()

二 运行结果

怎么在Python中使用matplotlib实现一个交换式图形显示功能

关于怎么在Python中使用matplotlib实现一个交换式图形显示功能就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

本文:怎么在Python中使用matplotlib实现一个交换式图形显示功能的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:如何使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件下一篇:

24 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18