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 中的列表解析和生成表达式
Mar 10 Python
在Python中处理字符串之ljust()方法的使用简介
May 19 Python
python 数据的清理行为实例详解
Jul 12 Python
python之matplotlib学习绘制动态更新图实例代码
Jan 23 Python
python excel使用xlutils类库实现追加写功能的方法
May 02 Python
python批量修改文件编码格式的方法
May 31 Python
anaconda如何查看并管理python环境
Jul 05 Python
python 判断字符串中是否含有汉字或非汉字的实例
Jul 15 Python
python使用pandas处理excel文件转为csv文件的方法示例
Jul 18 Python
python实现的分层随机抽样案例
Feb 25 Python
pip 20.3 新版本发布!即将抛弃 Python 2.x(推荐)
Dec 16 Python
python画图时设置分辨率和画布大小的实现(plt.figure())
Jan 08 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目录操作函数之获取目录与文件的类型
2010/12/29 PHP
开启PHP的伪静态模式
2015/12/31 PHP
简单PHP会话(session)说明介绍
2016/08/21 PHP
javascript针对DOM的应用分析(四)
2012/04/15 Javascript
js比较和逻辑运算符的介绍
2013/03/10 Javascript
Area 区域实现post提交数据的js写法
2014/04/22 Javascript
JS实现CheckBox复选框全选全不选功能
2015/05/06 Javascript
初步认识JavaScript函数库jQuery
2015/06/18 Javascript
使用 JavaScript 进行函数式编程 (一) 翻译
2015/10/02 Javascript
Bootstrap组件学习之导航、标签、面包屑导航(精品)
2016/05/17 Javascript
jQuery图片轮播功能实例代码
2017/01/29 Javascript
Vue监听数组变化源码解析
2017/03/09 Javascript
Vue.js 中的 $watch使用方法
2017/05/25 Javascript
基于jQuery选择器之表单对象属性筛选选择器的实例
2017/09/19 jQuery
Vue-cli项目获取本地json文件数据的实例
2018/03/07 Javascript
webpack+react+antd脚手架优化的方法
2018/04/02 Javascript
js指定日期增加指定月份的实现方法
2018/12/19 Javascript
Nodejs模块的调用操作实例分析
2018/12/25 NodeJs
详解基于React.js和Node.js的SSR实现方案
2019/03/21 Javascript
[00:37]2016完美“圣”典风云人物:rOtk宣传片
2016/12/09 DOTA
python实现搜索指定目录下文件及文件内搜索指定关键词的方法
2015/06/28 Python
遍历python字典几种方法总结(推荐)
2016/09/11 Python
Python使用pickle模块存储数据报错解决示例代码
2018/01/26 Python
详解django使用include无法跳转的解决方法
2020/03/19 Python
Python过滤掉numpy.array中非nan数据实例
2020/06/08 Python
Keras loss函数剖析
2020/07/06 Python
Python pip install之SSL异常处理操作
2020/09/03 Python
环境工程与管理大学毕业生求职信
2013/10/02 职场文书
会计主管岗位职责范文
2013/11/08 职场文书
商务邀请函范文
2014/01/14 职场文书
2014年预备党员学习两会心得体会
2014/03/17 职场文书
继续教育心得体会(共6篇)
2016/01/19 职场文书
2016思想纪律作风整顿心得体会
2016/01/23 职场文书
Pandas||过滤缺失数据||pd.dropna()函数的用法说明
2021/05/14 Python
SQL Server数据库查询出现阻塞之性能调优
2022/04/10 SQL Server
MySQL 原理优化之Group By的优化技巧
2022/08/14 MySQL