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的web框架中编写创建日志的程序的教程
Apr 30 Python
Python使用reportlab将目录下所有的文本文件打印成pdf的方法
May 20 Python
Python中subprocess的简单使用示例
Jul 28 Python
详解Python中的分组函数groupby和itertools)
Jul 11 Python
自学python的建议和周期预算
Jan 30 Python
Django重置migrations文件的方法步骤
May 01 Python
Django logging配置及使用详解
Jul 23 Python
Django中使用CORS实现跨域请求过程解析
Aug 05 Python
利用python中集合的唯一性实现去重
Feb 11 Python
深入了解Python 方法之类方法 & 静态方法
Aug 17 Python
安装pyecharts1.8.0版本后导入pyecharts模块绘图时报错: “所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 ”的解决方法
Aug 18 Python
Python爬取微信小程序通用方法代码实例详解
Sep 29 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
PHP 读取文本文件内容并分页显示
2016/01/02 PHP
php数据访问之查询关键字
2016/05/09 PHP
PHP实现Session入库/存入redis的方法
2017/05/04 PHP
PHP基于GD库实现的生成图片缩略图函数示例
2017/07/05 PHP
Laravel框架定时任务2种实现方式示例
2018/12/08 PHP
javascript判断iphone/android手机横竖屏模式的函数
2011/12/20 Javascript
js写一个弹出层并锁屏效果实现代码
2012/12/07 Javascript
jQuery动画animate方法使用介绍
2013/05/06 Javascript
jQuery插件windowScroll实现单屏滚动特效
2015/07/14 Javascript
js实现适用于素材网站的黑色多级菜单导航条效果
2015/08/24 Javascript
jQuery中常用的遍历函数用法实例总结
2015/09/01 Javascript
javascript嵌套函数和在函数内调用外部函数的区别分析
2016/01/31 Javascript
picLazyLoad 实现图片延时加载(包含背景图片)
2016/07/21 Javascript
javascript实现table单元格点击展开隐藏效果(实例代码)
2017/04/10 Javascript
Vue源码解析之Template转化为AST的实现方法
2018/12/14 Javascript
js array数组对象操作方法汇总
2019/03/18 Javascript
nuxt配置通过指定IP和端口访问的实现
2020/01/08 Javascript
JS array数组检测方式解析
2020/05/19 Javascript
Python的类实例属性访问规则探讨
2015/01/30 Python
Python实现的弹球小游戏示例
2017/08/01 Python
python如何把嵌套列表转变成普通列表
2018/03/20 Python
Python简单生成随机数的方法示例
2018/03/31 Python
PyCharm代码回滚,恢复历史版本的解决方法
2018/10/22 Python
Python绘制股票移动均线的实例
2019/08/24 Python
Python PyInstaller库基本使用方法分析
2019/12/12 Python
Python使用循环神经网络解决文本分类问题的方法详解
2020/01/16 Python
在TensorFlow中屏蔽warning的方式
2020/02/04 Python
FOREO斐珞尔官方旗舰店:LUNA露娜洁面仪
2018/03/11 全球购物
自我鉴定书范文
2013/10/02 职场文书
护理自我鉴定范文
2013/10/06 职场文书
优秀英语专业毕业生求职信
2013/11/23 职场文书
策划总监岗位职责
2014/02/16 职场文书
车间机修工岗位职责
2014/02/28 职场文书
中学生社会实践活动总结
2014/07/03 职场文书
信访工作个人总结
2015/03/03 职场文书
Nginx访问日志及错误日志参数说明
2021/03/31 Servers