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小技巧之批量抓取美女图片
Jun 06 Python
Python操作CouchDB数据库简单示例
Mar 10 Python
Windows下Eclipse+PyDev配置Python+PyQt4开发环境
May 17 Python
Python生成密码库功能示例
May 23 Python
Python日期时间模块datetime详解与Python 日期时间的比较,计算实例代码
Sep 14 Python
python3.7 openpyxl 删除指定一列或者一行的代码
Oct 08 Python
Python响应对象text属性乱码解决方案
Mar 31 Python
Django实现列表页商品数据返回教程
Apr 03 Python
python matplotlib:plt.scatter() 大小和颜色参数详解
Apr 14 Python
pytorch 运行一段时间后出现GPU OOM的问题
Jun 02 Python
Python还能这么玩之用Python修改了班花的开机密码
Jun 04 Python
Python中文分词库jieba(结巴分词)详细使用介绍
Apr 07 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
《雄兵连》系列首部大电影《烈阳天道》:可能是因为期望值太高了
2020/08/18 国漫
PHP递归算法的详细示例分析
2013/02/19 PHP
php实现的Captcha验证码类实例
2014/09/22 PHP
php类的扩展和继承用法实例
2015/06/20 PHP
php简单的上传类分享
2016/05/15 PHP
PHP4和PHP5版本下解析XML文档的操作方法实例分析
2017/05/20 PHP
改进:论坛UBB代码自动插入方式
2006/12/22 Javascript
图片无缝滚动代码(向左/向下/向上)
2013/04/10 Javascript
JQuery操作Select的Options的Bug(IE8兼容性视图模式)
2013/04/21 Javascript
同域jQuery(跨)iframe操作DOM(示例代码)
2013/12/13 Javascript
防止登录页面出现在frame中js代码
2014/07/22 Javascript
JavaScript基础知识及常用方法总结
2016/01/10 Javascript
值得分享的bootstrap table实例
2016/09/22 Javascript
9个让JavaScript调试更简单的Console命令
2016/11/14 Javascript
JavaScript中双符号的运算详解
2017/03/12 Javascript
解决ztree搜索中多级菜单展示不全问题
2017/07/05 Javascript
jQuery Pagination分页插件_动力节点Java学院整理
2017/07/17 jQuery
浅谈Node Inspector 代理实现
2017/10/19 Javascript
bootstrap paginator分页插件的两种使用方式实例详解
2017/11/14 Javascript
vue中实现移动端的scroll滚动方法
2018/03/03 Javascript
微信小程序上传图片实例
2018/05/28 Javascript
vue src动态加载请求获取图片的方法
2018/10/17 Javascript
Layui 带多选框表格监听事件以及按钮自动点击写法实例
2019/09/02 Javascript
vue 在methods中调用mounted的实现操作
2020/08/07 Javascript
Django实现全文检索的方法(支持中文)
2018/05/14 Python
matplotlib调整子图间距,调整整体空白的方法
2018/08/03 Python
win10下tensorflow和matplotlib安装教程
2018/09/19 Python
python字符串替换第一个字符串的方法
2019/06/26 Python
python列表的逆序遍历实现
2020/04/20 Python
利用SVG和CSS3来实现一个炫酷的边框动画
2015/07/22 HTML / CSS
CSS3制作圆形滚动进度条动画的示例
2020/11/05 HTML / CSS
幼儿园长自我鉴定
2013/10/17 职场文书
校园十佳歌手策划书
2014/01/22 职场文书
高中生评语大全
2014/04/25 职场文书
css display table 自适应高度、宽度问题的解决
2021/05/07 HTML / CSS
教你使用Pandas直接核算Excel中快递费用
2021/05/12 Python