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 thread 并发且顺序运行示例
Apr 09 Python
复习Python中的字符串知识点
Apr 14 Python
在Django中创建第一个静态视图
Jul 15 Python
python sys,os,time模块的使用(包括时间格式的各种转换)
Apr 27 Python
Python实现的根据文件名查找数据文件功能示例
May 02 Python
Python中时间datetime的处理与转换用法总结
Feb 18 Python
Python生成验证码、计算具体日期是一年中的第几天实例代码详解
Oct 16 Python
python随机模块random的22种函数(小结)
May 15 Python
浅谈Python 参数与变量
Jun 20 Python
利用pipenv和pyenv管理多个相互独立的Python虚拟开发环境
Nov 01 Python
用Python制作灯光秀短视频的思路详解
Apr 13 Python
python字典进行运算原理及实例分享
Aug 02 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
安装apache2.2.22配置php5.4(具体操作步骤)
2013/06/26 PHP
部署PHP时的4个配置修改说明
2015/10/19 PHP
通过JAVASCRIPT读取ASP设定的COOKIE
2007/02/15 Javascript
Z-Blog中用到的js代码
2007/03/15 Javascript
自己的js工具 Cookie 封装
2009/08/21 Javascript
Jquery异步请求数据实例代码
2011/12/28 Javascript
jquery动画2.元素坐标动画效果(创建一个图片走廊)
2012/08/24 Javascript
jQuery下实现等待指定元素加载完毕(可改成纯js版)
2013/07/11 Javascript
Ext JS 4实现带week(星期)的日期选择控件(实战二)
2013/08/21 Javascript
JQuery显示隐藏DIV的方法及代码实例
2015/04/16 Javascript
jquery仅用6行代码实现滑动门效果
2015/09/07 Javascript
jQuery实现鼠标经过事件的延时处理效果
2020/08/20 Javascript
js实现图片轮播效果
2015/12/19 Javascript
纯JS前端实现分页代码
2016/06/21 Javascript
jQuery实现动态添加、删除按钮及input输入框的方法
2017/04/27 jQuery
JS实现马赛克图片效果完整示例
2019/04/13 Javascript
vue 组件内获取actions的response方式
2019/11/08 Javascript
javascript实现倒计时关闭广告
2021/02/09 Javascript
python执行外部程序的常用方法小结
2015/03/21 Python
python实现马耳可夫链算法实例分析
2015/05/20 Python
浅析Python 中整型对象存储的位置
2016/05/16 Python
Python中list初始化方法示例
2016/09/18 Python
Python3如何解决字符编码问题详解
2017/04/23 Python
python merge、concat合并数据集的实例讲解
2018/04/12 Python
python 常见字符串与函数的用法详解
2018/11/23 Python
python3+django2开发一个简单的人员管理系统过程详解
2019/07/23 Python
详解Django-channels 实现WebSocket实例
2019/08/22 Python
python 字典访问的三种方法小结
2019/12/05 Python
python如何获取apk的packagename和activity
2020/01/10 Python
python 如何使用find和find_all爬虫、找文本的实现
2020/10/16 Python
Canvas 文字碰撞检测并抽稀的方法
2019/05/27 HTML / CSS
社区党总支书记先进事迹材料
2014/01/24 职场文书
低碳环保倡议书
2014/04/14 职场文书
小区的门卫岗位职责
2014/10/01 职场文书
2014企业年终工作总结
2014/12/23 职场文书
Python语言内置数据类型
2022/02/24 Python