Python使用matplotlib实现交换式图形显示功能示例

 更新时间:2019年09月06日 10:45:04   作者:cakincqm  
这篇文章主要介绍了Python使用matplotlib实现交换式图形显示功能,结合实例形式详细分析了Python基于matplotlib模块的数值运算与图形绘制相关操作技巧,需要的朋友可以参考下

本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

希望本文所述对大家Python程序设计有所帮助。

相关文章

  • 详解python单元测试框架unittest

    详解python单元测试框架unittest

    本篇文章给大家详解了python单元测试框架unittest的相关知识点,有兴趣的朋友参考学习下。
    2018-07-07
  • pyecharts绘制仪表盘的实现

    pyecharts绘制仪表盘的实现

    有时候大家想把自己绘制好的可视化图片集中到一个页面,整合成仪表盘,集中给同事或者他人来呈现,但又不知道该怎么做,今天小编就来分享一个pyecharts绘制仪表盘的实现,具有一定的参考价值,感兴趣的可以了解一下
    2021-06-06
  • 使用pandas读取文件的实现

    使用pandas读取文件的实现

    这篇文章主要介绍了使用pandas读取文件的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • python调用Delphi写的Dll代码示例

    python调用Delphi写的Dll代码示例

    这篇文章主要介绍了python调用Delphi写的Dll代码示例,具有一定参考价值,需要的朋友可以了解下。
    2017-12-12
  • Python3.5 win10环境下导入kera/tensorflow报错的解决方法

    Python3.5 win10环境下导入kera/tensorflow报错的解决方法

    这篇文章主要介绍了Python3.5 win10环境下导入keras/tensorflow报错的解决方法,较为详细的分析了Python3.5在win10环境下导入keras/tensorflow提示错误的原因与相关解决方法,需要的朋友可以参考下
    2019-12-12
  • Python控制台输出俄罗斯方块移动和旋转功能

    Python控制台输出俄罗斯方块移动和旋转功能

    这篇文章主要介绍了Python控制台输出俄罗斯方块移动和旋转功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • Python实现配置文件备份的方法

    Python实现配置文件备份的方法

    这篇文章主要介绍了Python实现配置文件备份的方法,实例分析了基于Linux平台下Python文件压缩备份的相关技巧,具有一定参考借鉴价值
    2015-07-07
  • Python深度学习之Keras模型转换成ONNX模型流程详解

    Python深度学习之Keras模型转换成ONNX模型流程详解

    这篇文章主要介绍了Python深度学习之Keras模型转换成ONNX模型流程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2022-09-09
  • 解决Python的requests中text中文乱码的问题

    解决Python的requests中text中文乱码的问题

    学习Python爬虫时遇到中文乱码问题,发现req.text返回的是unicode,无法再次decode,通过查看网站源码,发现网站使用的是gbk编码,Requests会自动解码来自服务器的内容,但有时推测错误,通过设置r.encoding为gbk,然后对text进行编码,可以正确打印出中文
    2025-01-01
  • python队列Queue的详解

    python队列Queue的详解

    这篇文章主要介绍了python队列Queue,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05

最新评论