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中import导入上一级目录模块及循环import问题的解决
Jun 04 Python
Python cookbook(数据结构与算法)字典相关计算问题示例
Feb 18 Python
python模糊图片过滤的方法
Dec 14 Python
解决安装pycharm后不能执行python脚本的问题
Jan 19 Python
将pytorch转成longtensor的简单方法
Feb 18 Python
Python如何使用bokeh包和geojson数据绘制地图
Mar 21 Python
python学生管理系统的实现
Apr 05 Python
Anaconda+vscode+pytorch环境搭建过程详解
May 25 Python
python获取linux系统信息的三种方法
Oct 14 Python
python3 googletrans超时报错问题及翻译工具优化方案 附源码
Dec 23 Python
详解Pymongo常用查询方法总结
Jan 29 Python
python基于机器学习预测股票交易信号
May 25 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
生成sessionid和随机密码的例子
2006/10/09 PHP
深入探讨:PHP使用数据库永久连接方式操作MySQL的是与非
2013/06/05 PHP
php实现的漂亮分页方法
2014/04/17 PHP
php创建、获取cookie及基础要点分析
2015/01/26 PHP
php注册系统和使用Xajax即时验证用户名是否被占用
2017/08/31 PHP
php字符串截取函数mb_substr用法实例分析
2019/06/25 PHP
laravel 框架实现无限级分类的方法示例
2019/10/31 PHP
JavaScript 浮点数运算 精度问题
2009/10/06 Javascript
基于JQuery实现异步刷新的代码(转载)
2011/03/29 Javascript
js判断上传文件类型判断FileUpload文件类型代码
2014/05/20 Javascript
对JavaScript中this指针的新理解分享
2015/01/31 Javascript
jQuery插件jcrop+Fileapi完美实现图片上传+裁剪+预览的代码分享
2015/04/22 Javascript
AngularJS模板加载用法详解
2016/11/04 Javascript
如何选择jQuery版本 1.x? 2.x? 3.x?
2017/04/01 jQuery
如何在 Vue.js 中使用第三方js库
2017/04/25 Javascript
详解js访问对象的属性和方法
2018/10/25 Javascript
JavaScript 格式化数字、金额、千分位、保留几位小数、舍入舍去
2019/07/23 Javascript
vue引入静态js文件的方法
2020/06/20 Javascript
JavaScript通如何过RGraph实现动态仪表盘
2020/10/15 Javascript
[01:04:29]DOTA2-DPC中国联赛 正赛 Phoenix vs XG BO3 第二场 1月31日
2021/03/11 DOTA
python操作xml文件示例
2014/04/07 Python
python爬虫的工作原理
2017/03/05 Python
Django中login_required装饰器的深入介绍
2017/11/24 Python
Django项目中实现使用qq第三方登录功能
2019/08/13 Python
django 数据库连接模块解析及简单长连接改造方法
2019/08/29 Python
python程序中的线程操作 concurrent模块使用详解
2019/09/23 Python
pytorch多GPU并行运算的实现
2019/09/27 Python
配置python的编程环境之Anaconda + VSCode的教程
2020/03/29 Python
通过代码实例了解Python sys模块
2020/09/14 Python
python用700行代码实现http客户端
2021/01/14 Python
关于Java finally的面试题
2016/04/27 面试题
简历自我评价怎么写呢?
2014/01/06 职场文书
作风建设年度心得体会
2014/10/29 职场文书
网络营销计划书
2015/01/17 职场文书
莫言诺贝尔获奖感言(全文)
2015/07/31 职场文书
sql注入教程之类型以及提交注入
2021/08/02 MySQL