Python使用matplotlib实现交换式图形显示功能示例


Posted in Python onSeptember 06, 2019

本文实例讲述了Python使用matplotlib实现交换式图形显示功能。分享给大家供大家参考,具体如下:

一 代码

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)
#定义允许的几种频率,并创建单选钮组件
#其中[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)
#定义允许的几种颜色,并创建单选钮组件
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)
#定义允许的几种线型,并创建单选钮组件
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)
#定义按钮单击事件处理函数,并在窗口上创建按钮
def randomFig(event):
#随机选择一个频率,同时设置单选钮的选中项
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])
#随机选择一个颜色,同时设置单选钮的选中项
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,'Random Figure')
buttonRnd.on_clicked(randomFig)
#显示图形
plt.show()

二 运行结果

Python使用matplotlib实现交换式图形显示功能示例

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
一个小示例告诉你Python语言的优雅之处
Jul 04 Python
Python pickle模块用法实例
Apr 14 Python
Python 出现错误TypeError: ‘NoneType’ object is not iterable解决办法
Jan 12 Python
python如何让类支持比较运算
Mar 20 Python
在PyCharm下打包*.py程序成.exe的方法
Nov 29 Python
Python面向对象之继承和多态用法分析
Jun 08 Python
Python如何爬取微信公众号文章和评论(基于 Fiddler 抓包分析)
Jun 28 Python
python requests.get带header
May 05 Python
Mysql数据库反向生成Django里面的models指令方式
May 18 Python
python编写softmax函数、交叉熵函数实例
Jun 11 Python
在tensorflow以及keras安装目录查询操作(windows下)
Jun 19 Python
python安装第三方库如xlrd的方法
Oct 31 Python
python自动发微信监控报警
Sep 06 #Python
Python使用Slider组件实现调整曲线参数功能示例
Sep 06 #Python
Python scipy的二维图像卷积运算与图像模糊处理操作示例
Sep 06 #Python
Python数学形态学实例分析
Sep 06 #Python
Python统计分析模块statistics用法示例
Sep 06 #Python
使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件及出现问题解决方法
Sep 06 #Python
python监控nginx端口和进程状态
Sep 06 #Python
You might like
新闻分类录入、显示系统
2006/10/09 PHP
php下使用以下代码连接并测试
2008/04/09 PHP
php的ajax简单实例
2014/02/27 PHP
Windows下的PHP安装文件线程安全和非线程安全的区别
2014/04/23 PHP
php计算给定日期所在周的开始日期和结束日期示例
2017/02/06 PHP
Yii2.0框架behaviors方法使用实例分析
2019/09/30 PHP
jQuery 研究心得 取得属性的值
2007/11/30 Javascript
window.parent调用父框架时 ie跟火狐不兼容问题
2009/07/30 Javascript
js写一个字符串转成驼峰的实例
2013/06/21 Javascript
jquery 循环显示div的示例代码
2013/10/18 Javascript
javascript操作excel生成报表全攻略
2014/05/04 Javascript
jQuery循环滚动新闻列表示例代码
2014/06/17 Javascript
JS获取网页图片name属性的方法
2015/04/01 Javascript
深入理解JavaScript中的箭头函数
2015/07/28 Javascript
jquery实现美观的导航菜单鼠标提示特效代码
2015/09/06 Javascript
浅析JS异步加载进度条
2016/05/05 Javascript
JS实用技巧小结(屏蔽错误、div滚动条设置、背景图片位置等)
2016/06/16 Javascript
给easyui的datebox控件添加清空按钮的实现方法
2016/11/09 Javascript
JavaScript实现打印星型金字塔功能实例分析
2017/09/27 Javascript
elementui的默认样式修改方法
2018/02/23 Javascript
vue拖拽组件 vuedraggable API options实现盒子之间相互拖拽排序
2019/07/08 Javascript
Node.js API详解之 dgram模块用法实例分析
2020/06/05 Javascript
[46:38]完美世界DOTA2联赛PWL S2 Magma vs PXG 第三场 11.28
2020/12/02 DOTA
在Python的Django框架中创建和使用模版
2015/07/15 Python
python获取多线程及子线程的返回值
2017/11/15 Python
python 用opencv调用训练好的模型进行识别的方法
2018/12/07 Python
Python requests模块session代码实例
2020/04/14 Python
日本食品网上商店:JaponShop.com
2017/11/28 全球购物
Andrew Marc官网:设计师外套的领先制造商
2019/10/30 全球购物
什么是smarty? Smarty的优点是什么?
2013/08/11 面试题
迟到检讨书400字
2014/01/13 职场文书
餐饮收银员岗位职责
2014/02/07 职场文书
风险评估实施方案
2014/03/09 职场文书
机械专业毕业生自我鉴定2014
2014/10/04 职场文书
弘扬焦裕禄精神践行三严三实心得体会
2014/10/13 职场文书
MySQL 如何分析查询性能
2021/05/12 MySQL