`
cakin24
  • 浏览: 1416258 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

matplotlib实现交换式图形显示

阅读更多

一 代码

  1. from random import choice
  2. import numpy as np
  3. import matplotlib.pyplot as plt
  4. from matplotlib.widgets importRadioButtons,Button
  5. t = np.arange(0.0,2.0,0.01)
  6. s0 = np.sin(2*np.pi*t)
  7. s1 = np.sin(4*np.pi*t)
  8. s2 = np.sin(8*np.pi*t)
  9. fig, ax = plt.subplots()
  10. l,= ax.plot(t, s0, lw=2, color='red')
  11. plt.subplots_adjust(left=0.3)
  12. #定义允许的几种频率,并创建单选钮组件
  13. #其中[0.05, 0.7, 0.15, 0.15]表示组件在窗口上的归一化位置
  14. axcolor ='lightgoldenrodyellow'
  15. rax = plt.axes([0.05,0.7,0.15,0.15], axisbg=axcolor)
  16. radio =RadioButtons(rax,('2 Hz','4 Hz','8 Hz'))
  17. hzdict ={'2 Hz': s0,'4 Hz': s1,'8 Hz': s2}
  18. def hzfunc(label):
  19. ydata = hzdict[label]
  20. l.set_ydata(ydata)
  21. plt.draw()
  22. radio.on_clicked(hzfunc)
  23. #定义允许的几种颜色,并创建单选钮组件
  24. rax = plt.axes([0.05,0.4,0.15,0.15], axisbg=axcolor)
  25. colors =('red','blue','green')
  26. radio2 =RadioButtons(rax, colors)
  27. def colorfunc(label):
  28. l.set_color(label)
  29. plt.draw()
  30. radio2.on_clicked(colorfunc)
  31. #定义允许的几种线型,并创建单选钮组件
  32. rax = plt.axes([0.05,0.1,0.15,0.15], axisbg=axcolor)
  33. styles =('-','--','-.','steps',':')
  34. radio3 =RadioButtons(rax, styles)
  35. def stylefunc(label):
  36. l.set_linestyle(label)
  37. plt.draw()
  38. radio3.on_clicked(stylefunc)
  39. #定义按钮单击事件处理函数,并在窗口上创建按钮
  40. def randomFig(event):
  41. #随机选择一个频率,同时设置单选钮的选中项
  42. hz = choice(tuple(hzdict.keys()))
  43. hzLabels =[label.get_text()for label in radio.labels]
  44. radio.set_active(hzLabels.index(hz))
  45. l.set_ydata(hzdict[hz])
  46. #随机选择一个颜色,同时设置单选钮的选中项
  47. c = choice(colors)
  48. radio2.set_active(colors.index(c))
  49. l.set_color(c)
  50. #随机选择一个线型,同时设置单选钮的选中项
  51. style = choice(styles)
  52. radio3.set_active(styles.index(style))
  53. l.set_linestyle(style)
  54. #根据设置的属性绘制图形
  55. plt.draw()
  56. axRnd = plt.axes([0.5,0.015,0.2,0.045])
  57. buttonRnd =Button(axRnd,'Random Figure')
  58. buttonRnd.on_clicked(randomFig)
  59. #显示图形
  60. plt.show()
二 运行结果

 
  • 大小: 37.9 KB
分享到:
评论

相关推荐

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

    本文实例讲述了Python使用matplotlib实现交换式图形显示功能。分享给大家供大家参考,具体如下: 一 代码 from random import choice import numpy as np import matplotlib.pyplot as plt from matplotlib.widgets...

    python 3.5 visual studio 环境下,matplotlib tensorflow 包及依赖.rar

    在安装matplotlib和tensorflow时,会涉及到一系列的依赖库,如numpy(用于数值计算)、scipy(用于科学计算)、protobuf(TensorFlow的数据交换格式)等。确保这些依赖正确安装和更新是成功使用这两个库的关键。...

    (源码)基于Python和C++的电容式图案输入锁定系统.zip

    # 基于Python和C++的电容式图案输入锁定系统 ## 项目简介 这是一个基于Python和C++的电容式图案输入锁定系统...4. 图形用户界面通过Python脚本和图形库(如Matplotlib)实现图形用户界面,用于数据可视化和用户交互。

    Python-将几种著名的排序算法可视化的一些python脚本并通过Matplotlib生成动画

    可视化排序算法能够帮助我们更好地理解它们的工作原理,而Matplotlib是一个强大的Python库,常用于数据可视化,包括创建动态、交互式的图形。这个名为"Python-将几种著名的排序算法可视化的一些python脚本并通过...

    动态可视化条形图.rar

    6. **Matplotlib**: Matplotlib是Python最基础的绘图库,支持创建各种静态、动态、交互式的图形。在这个项目中,Matplotlib的`pyplot`模块可能用于绘制静态条形图。 7. **Seaborn**: Seaborn是基于Matplotlib的高级...

    algo_vis:程序wizualizującywybrane algorytmy sortowania zapomocąanimacji matplotlib

    **算法可视化程序algo_vis利用matplotlib实现排序动画** `algo_vis`是一个基于Python的程序,它通过matplotlib库为选定的排序算法生成动态可视化效果。这个工具旨在帮助用户更好地理解和学习各种排序算法的工作原理...

    Python_Matplotlib_Numpypandas_ML:用Python完成的程序,实现Matplotlib,numpy,pandas,datetime,parquet,json,read_csv,openpyxl,机器学习概念和更多程序

    1. **Matplotlib**:Matplotlib是Python最基础的数据可视化库,可以用于创建静态、动态和交互式的图表。它提供了丰富的图形选项,如线图、散点图、直方图、饼图等,使得数据可视化变得直观易懂。 2. **NumPy**:...

    基于Python的可视化数据分析平台设计与实现.zip

    1. Python解释器:基础环境是Python解释器,可以选择标准的CPython或性能更优的Jupyter Notebook,后者提供交互式的代码编辑和结果显示。 2. 数据科学库:Pandas用于数据清洗和预处理,NumPy提供数值计算功能,SciPy...

    射频信号监测器_Python_下载.zip

    2. Matplotlib:用于生成各种静态、动态、交互式的可视化图像,是Python中最常用的绘图库。 3. PySerial:提供串行通信接口,用于与射频前端设备进行数据交换。 4. Scipy:科学计算库,包含信号处理相关的函数,如...

    Python实现B站直播实时弹幕分析可视化.zip

    `Bokeh`也是一个不错的选择,它支持大型数据集的交互式可视化,并且能够很好地实现实时更新。 6. **多线程/异步编程**:为了保证数据抓取和处理的实时性,可能需要用到Python的多线程或多进程技术,如`threading`或...

    遗传算法(GA)二进制编码实现(Python)

    Python不仅提供了强大的数值计算库(如NumPy和SciPy),还有丰富的数据可视化工具(如Matplotlib和Seaborn),使得在Python中实现遗传算法并进行结果分析和可视化变得非常方便。 在使用Python实现遗传算法的过程中...

    基于Python实现的Synthetic Control方法的因果推断设计源码

    Python作为一门广泛应用于数据分析、科学计算和人工智能领域的编程语言,其强大的第三方库支持,如NumPy、Pandas、Matplotlib等,为该项目提供了丰富的数据处理和可视化工具。 8个PNG图片文件可能是该项目的数据...

    21_基于学习数据绘图.zip

    在这个项目中,我们将关注两个关键文件"datafigure.py"和"datafigure_new.py",它们很可能是实现数据图形化的脚本,而"user_study.json"可能包含了用户学习数据,这些数据将被用来生成图表。 "datafigure.py":这个...

    示波器实例涉及波形生成绘制串口应用等

    Python的matplotlib和plotly等库提供了丰富的图形选项,可以创建交互式和动态的图表。 在这个压缩包中,源码文件很可能包含了实现以上功能的代码示例。可能包括了初始化串口连接、读写数据的函数,以及用于绘制波形...

    商业编程-源码-针对Excel表格文件操作的编程实现.zip

    10. **数据可视化**:处理完数据后,可能需要将结果以图表的形式展示出来,Excel本身就具有强大的图表功能,而Python的matplotlib和seaborn库则可以生成专业级的可视化图形。 以上就是针对Excel表格文件操作的编程...

    python_sitka_weather_2014.rar

    matplotlib是Python中最常用的绘图库,支持生成各种静态、动态甚至交互式的图形。在这个例子中,我们可能绘制了Sitka在2014年的天气数据,比如温度、湿度、风速等。以下是一个基本的matplotlib示例,展示了如何绘制...

    官方Python上位机,python做上位机,Python源码.rar

    这些库允许开发者创建交互式窗口,接收用户输入,显示数据,并控制硬件设备。 2. **通信库**:`pyserial`用于串口通信,能够与各种串行设备进行数据交换。对于TCP/IP网络通信,`socket`模块可以创建客户端和服务器...

    学习笔记6_在python界面上用训练好的Imagenet模型去分类图形-薛开宇1

    首先,为了开始这个过程,我们需要启动IPython Notebook,这是Python中一个交互式计算环境。Caffe库提供了一个Python接口,允许我们与预先训练好的模型进行交互。在这个例子中,作者指出我们可以在Python或MATLAB中...

    基于Tkinter的光伏管理平台

    Tkinter是Python标准库的一部分,提供了丰富的组件和功能,可以方便地创建交互式GUI(图形用户界面)应用,使得非专业程序员也能轻松构建自己的桌面应用程序。 在光伏管理平台上,Tkinter作为基础框架,用于设计和...

Global site tag (gtag.js) - Google Analytics