使用matplotlib动态刷新指定曲线实例


Posted in Python onApril 23, 2020

我就废话不多说啦,还是直接看代码吧!

from matplotlib import pyplot as plt
import numpy as np
 
x = np.linspace(1, 100, 20)
y = x *2 +3
fig = plt.figure()
ax = fig.add_subplot(1,1,1)
ax.scatter(x, y)
plt.ion()
for i in range(10):
 y = x*i*0.1 + i
 try:
  ax.lines.remove(lines[0])
 except Exception:
  pass
 lines = ax.plot(x ,y)
 plt.pause(0.1)

补充知识:用Python的matplotlib库动态显示不断增长的数据

"""
Created on Mon Dec 07 16:34:10 2015

@author: SuperWang
"""

import matplotlib.pyplot as plt
import numpy as np

fig,ax=plt.subplots()
fig2,ax2=plt.subplots()


y1=[]
y2=[]

for i in range(50):
 y1.append(np.sin(i))
 y2.append(np.cos(i))
 ax.cla()
 ax.set_title("Loss")
 ax.set_xlabel("Iteration")
 ax.set_ylabel("Loss")
 ax.set_xlim(0,55)
 ax.set_ylim(-1,1)
 ax.grid()
 ax.plot(y1,label='train')
 ax.plot(y2,label='test')
 ax.legend(loc='best')

 ax2.cla()
 ax2.set_title("Loss")
 ax2.set_xlabel("Iteration")
 ax2.set_ylabel("Loss")
 ax2.set_xlim(0,55)
 ax2.set_ylim(-1,1)
 ax2.grid()
 ax2.plot(y1,label='train')
 ax2.plot(y2,label='test')
 ax2.legend(loc='best')
 plt.pause(1)

要解决的问题如标题所示,原理很简单,就是当数据增长时,不断清空以前的绘画内容,然后把现有的数据重新画出来(数据是胡乱生成的)。

具体过程如下:

fig,ax=plt.subplots() 产生一个figure对象和一个axis对象。figure相当于一个窗口,而axis相当于一个画布。此句也可以用两句生成,即fig=plt.figure(num),括号中的参数是figure的ID,如果只需创建一个figure对象,那么可以省略。然后ax=fig.subplot(1,1,1),subplot()的具体用法可以去google或百度一下。ax.cla()就是在新数据到来时,先把之前的绘制的内容清空,接下来,ax.set_title(“Loss”),ax.set_xlabel(“Iteration”),ax.set_ylabel(“Loss”)都很简单,见名知意。ax.set_xlim(0,55),ax.set_ylim(-1,1)分别用来设置x轴和y轴的两个端点。ax.grid()给画布加上网格。ax.plot(y1,label='train'),ax.plot(y2,label='test')这两句是实际的绘制命令,其中,参数label是为以后生成图例用的。ax2.legend(loc='best')用来生成图例,loc参数代表图例位置location,而value:‘best'是其中的一种选择,除此之外,还有左上角等其他选项。最后,plt.pause(1)是为了显示上更直观,故意每绘制一次,暂停1秒,注意,这里的单位是秒。如果是实际的应用,而数据生成的过程又比较慢,此句完全可以省略。

这段代码中创建了两个窗口,在实验过程中,我发现只能有一个窗口被选中,即用鼠标点击哪个窗口,哪个窗口会动态地显示绘画过程,而另一个保持不动。

绘画过程截图如下:

使用matplotlib动态刷新指定曲线实例

以上这篇使用matplotlib动态刷新指定曲线实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
跟老齐学Python之for循环语句
Oct 02 Python
Python进程间通信Queue实例解析
Jan 25 Python
Python学习之Django的管理界面代码示例
Feb 10 Python
python实现在IDLE中输入多行的方法
Apr 19 Python
详解python中的生成器、迭代器、闭包、装饰器
Aug 22 Python
django框架中间件原理与用法详解
Dec 10 Python
Python3直接爬取图片URL并保存示例
Dec 18 Python
Python3 虚拟开发环境搭建过程(图文详解)
Jan 06 Python
pycharm不能运行.py文件的解决方法
Feb 12 Python
Python 随机生成测试数据的模块:faker基本使用方法详解
Apr 09 Python
matplotlib阶梯图的实现(step())
Mar 02 Python
Python人工智能之混合高斯模型运动目标检测详解分析
Nov 07 Python
Flask模板引擎Jinja2使用实例
Apr 23 #Python
利用pandas向一个csv文件追加写入数据的实现示例
Apr 23 #Python
在matplotlib中改变figure的布局和大小实例
Apr 23 #Python
Python将二维列表list的数据输出(TXT,Excel)
Apr 23 #Python
Python基于DB-API操作MySQL数据库过程解析
Apr 23 #Python
详解pandas绘制矩阵散点图(scatter_matrix)的方法
Apr 23 #Python
Python matplotlib实时画图案例
Apr 23 #Python
You might like
社区(php&&mysql)三
2006/10/09 PHP
PHP加速 eAccelerator配置和使用指南
2009/06/05 PHP
同台服务器使用缓存APC效率高于Memcached的演示代码
2010/02/16 PHP
PHP 第二节 数据类型之数组
2012/04/28 PHP
PHP获取文件夹内文件数的方法
2015/03/12 PHP
php报错502badgateway解决方法
2019/10/11 PHP
php+js实现点赞功能的示例详解
2020/08/07 PHP
用IE重起计算机或者关机的示例代码
2014/03/10 Javascript
Node.js中的process.nextTick使用实例
2015/06/25 Javascript
利用JQuery写一个简单的异步分页插件
2016/03/07 Javascript
AngularJS 指令详细介绍
2016/07/27 Javascript
BootStrap按钮标签及基本样式
2016/11/23 Javascript
JS正则表达式修饰符中multiline(/m)用法分析
2016/12/27 Javascript
ES6学习之变量的解构赋值
2017/02/12 Javascript
JS实现选定指定HTML元素对象中指定文本内容功能示例
2017/02/13 Javascript
jQuery 导航自动跟随滚动的实现代码
2018/05/30 jQuery
AngularJS修改model值时,显示内容不变的实例
2018/09/13 Javascript
Vue编程式跳转的实例代码详解
2019/07/10 Javascript
layui button 按钮弹出提示窗口,确定才进行的方法
2019/09/06 Javascript
js实现QQ邮箱邮件拖拽删除功能
2020/08/27 Javascript
星球大战与Python之间的那些事
2016/01/07 Python
Python脚本实时处理log文件的方法
2016/11/21 Python
Windows下安装Django框架的方法简明教程
2018/03/28 Python
详谈python中冒号与逗号的区别
2018/04/18 Python
Python中矩阵创建和矩阵运算方法
2018/08/04 Python
Python pip 安装与使用(安装、更新、删除)
2019/10/06 Python
基于Python测试程序是否有错误
2020/05/16 Python
Django 权限管理(permissions)与用户组(group)详解
2020/11/30 Python
如何执行一个shell程序
2012/11/23 面试题
个人求职简历的自我评价范文
2013/10/09 职场文书
财务会计人员岗位职责
2013/11/30 职场文书
个性婚礼策划方案
2014/05/17 职场文书
领导班子党的群众路线对照检查材料
2014/09/25 职场文书
2014年民警工作总结
2014/11/25 职场文书
介绍信范文
2015/01/31 职场文书
单身申明具结书
2015/02/26 职场文书