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 相关文章推荐
TensorFlow搭建神经网络最佳实践
Mar 09 Python
对python产生随机的二维数组实例详解
Dec 13 Python
python运行时强制刷新缓冲区的方法
Jan 14 Python
python实现微信定时每天和女友发送消息
Apr 29 Python
华为2019校招笔试题之处理字符串(python版)
Jun 25 Python
Python assert语句的简单使用示例
Jul 28 Python
详解Python 字符串相似性的几种度量方法
Aug 29 Python
Python实现图像的垂直投影示例
Jan 17 Python
Python中常见的数制转换有哪些
May 27 Python
Python selenium键盘鼠标事件实现过程详解
Jul 28 Python
Python中的With语句的使用及原理
Jul 29 Python
python简单实现插入排序实例代码
Dec 16 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函数spl_autoload_register()用法和__autoload()介绍
2012/02/04 PHP
Yii操作数据库的3种方法
2014/03/11 PHP
JavaScript网页制作特殊效果用随机数
2007/05/22 Javascript
Jquery Ajax解析XML数据(同步及异步调用)简单实例
2014/02/12 Javascript
node.js WEB开发中图片验证码的实现方法
2014/06/03 Javascript
js中的getAttribute方法使用示例
2014/08/01 Javascript
JavaScript汉诺塔问题解决方法
2015/04/21 Javascript
js获取表格的行数和列数的方法
2015/10/23 Javascript
Bootstrap弹出框(modal)垂直居中的问题及解决方案详解
2016/06/12 Javascript
jQuery实现表格文本框淡入更改值后淡出效果
2016/09/27 Javascript
Require.JS中的几种define定义方式示例
2017/06/01 Javascript
jquery请求servlet实现ajax异步请求的示例
2017/06/03 jQuery
详解用node搭建简单的静态资源管理器
2017/08/09 Javascript
JavaScript享元模式原理与用法实例详解
2020/03/09 Javascript
[58:42]DOTA2上海特级锦标赛C组败者赛 Newbee VS Archon第一局
2016/02/27 DOTA
python中循环语句while用法实例
2015/05/16 Python
python实现键盘输入的实操方法
2019/07/16 Python
python实现静态服务器
2019/09/05 Python
python调用c++返回带成员指针的类指针实例
2019/12/12 Python
Python3实现飞机大战游戏
2020/04/24 Python
python 绘制场景热力图的示例
2020/09/23 Python
python 带时区的日期格式化操作
2020/10/23 Python
python 实现围棋游戏(纯tkinter gui)
2020/11/13 Python
Python 使用SFTP和FTP实现对服务器的文件下载功能
2020/12/17 Python
HTML5 本地存储 LocalStorage详解
2016/06/24 HTML / CSS
ASOS英国官网:英国在线时装和化妆品零售商
2017/05/19 全球购物
平面设计求职信
2014/03/10 职场文书
学习全国两会精神心得体会范文
2014/03/17 职场文书
股东合作协议书范本
2014/04/14 职场文书
幼儿园清明节活动总结
2014/07/04 职场文书
钢琴师观后感
2015/06/12 职场文书
夏洛特的网观后感
2015/06/15 职场文书
运动会开幕式主持词
2015/07/01 职场文书
运动会广播稿200字
2015/08/19 职场文书
高一作文之乐趣
2019/11/21 职场文书
Python Django项目和应用的创建详解
2021/11/27 Python