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 17 Python
Django项目中用JS实现加载子页面并传值的方法
May 28 Python
python3个性签名设计实现代码
Jun 19 Python
计算机二级python学习教程(2) python语言基本语法元素
May 16 Python
face++与python实现人脸识别签到(考勤)功能
Aug 28 Python
基于Python实现剪切板实时监控方法解析
Sep 11 Python
python getpass模块用法及实例详解
Oct 07 Python
python集合常见运算案例解析
Oct 17 Python
IronPython连接MySQL的方法步骤
Dec 27 Python
tensorboard显示空白的解决
Feb 15 Python
python实现快速文件格式批量转换的方法
Oct 16 Python
详解python polyscope库的安装和例程
Nov 13 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
腾讯QQ php程序员面试题目整理
2010/06/08 PHP
PHP5.3安装Zend Guard Loader图文教程
2014/09/29 PHP
深入理解Yii2.0乐观锁与悲观锁的原理与使用
2017/07/26 PHP
Laravel 修改验证异常的响应格式实例代码详解
2020/05/25 PHP
漂亮的提示信息(带箭头)
2007/03/21 Javascript
JS Timing
2007/04/21 Javascript
另一个javascript小测验(代码集合)
2011/07/27 Javascript
侧栏跟随滚动的简单实现代码
2013/03/18 Javascript
基于js disabled="false"不起作用的解决办法
2013/06/26 Javascript
JS中判断null、undefined与NaN的方法
2014/03/24 Javascript
input标签内容改变的触发事件介绍
2014/06/18 Javascript
JavaScript跨浏览器获取页面中相同class节点的方法
2015/03/03 Javascript
jQuery.Highcharts.js绘制柱状图饼状图曲线图
2015/03/14 Javascript
js淡入淡出焦点图幻灯片效果代码分享
2015/09/08 Javascript
理解Javascript文件动态加载
2016/01/29 Javascript
浅析JavaScript 箭头函数 generator Date JSON
2016/05/23 Javascript
浅析Nodejs npm常用命令
2016/06/14 NodeJs
JS中作用域和变量提升(hoisting)的深入理解
2016/10/31 Javascript
ES6新特性二:Iterator(遍历器)和for-of循环详解
2017/04/20 Javascript
微信小程序富文本渲染引擎的详解
2017/09/30 Javascript
最适应的vue.js的form提交涉及多种插件【推荐】
2018/08/27 Javascript
JavaScript实现放大镜效果代码示例
2020/04/29 Javascript
Python2.x版本中基本的中文编码问题解决
2015/10/12 Python
python实现应用程序在右键菜单中添加打开方式功能
2017/01/09 Python
详解Python的hasattr() getattr() setattr() 函数使用方法
2018/07/09 Python
使用Python制作简单的小程序IP查看器功能
2019/04/16 Python
django组合搜索实现过程详解(附代码)
2019/08/06 Python
Python函数中的可变长参数详解
2019/09/12 Python
Python使用进程Process模块管理资源
2020/03/05 Python
Django models filter筛选条件详解
2020/03/16 Python
Python3爬虫ChromeDriver的安装实例
2021/02/06 Python
eBay荷兰购物网站:eBay.nl
2020/06/26 全球购物
法院实习人员自我鉴定
2013/09/26 职场文书
党的群众路线教育学习材料
2014/05/12 职场文书
学生喝酒检讨书500字
2014/11/02 职场文书
2015小学音乐教师个人工作总结
2015/07/21 职场文书