使用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工程师面试题 与Python基础语法相关
Jan 14 Python
python 计算文件的md5值实例
Jan 13 Python
Python实现简单石头剪刀布游戏
Jan 20 Python
Python assert语句的简单使用示例
Jul 28 Python
python config文件的读写操作示例
Sep 27 Python
Python pandas库中的isnull()详解
Dec 26 Python
关于Pytorch MaxUnpool2d中size操作方式
Jan 03 Python
Python selenium抓取虎牙短视频代码实例
Mar 02 Python
python高阶函数map()和reduce()实例解析
Mar 16 Python
通过Python实现Payload分离免杀过程详解
Jul 13 Python
Python 整行读取文本方法并去掉readlines换行\n操作
Sep 03 Python
python opencv旋转图片的使用方法
Jun 04 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中MVC模式的模板引擎开发经验分享
2011/03/23 PHP
php正则表达匹配中文问题分析小结
2012/03/25 PHP
php中CI操作多个数据库的代码
2012/07/05 PHP
phpexcel导出excel的颜色和网页中的颜色显示不一致
2012/12/11 PHP
ThinkPHP函数详解之M方法和R方法
2015/09/10 PHP
PHP判断FORM表单或URL参数来的数据是否为整数的方法
2016/03/25 PHP
php实现的统计字数函数定义与使用示例
2017/07/26 PHP
PHP从零开始打造自己的MVC框架之类的自动加载实现方法详解
2019/06/03 PHP
一个JavaScript继承的实现
2006/10/24 Javascript
MooTools 1.2介绍
2009/09/14 Javascript
跨浏览器的事件对象介绍
2012/06/27 Javascript
类似php的js数组的in_array函数自定义方法
2013/12/27 Javascript
JavaScript中消除闭包的一般方法介绍
2015/03/16 Javascript
jQuery插件FusionWidgets实现的Bulb图效果示例【附demo源码下载】
2017/03/23 jQuery
js实现按座位号抽奖
2017/04/05 Javascript
Node.JS 循环递归复制文件夹目录及其子文件夹下的所有文件
2017/09/18 Javascript
bootstrap可编辑下拉框jquery.editable-select
2017/10/12 jQuery
Vue实现省市区三级联动
2020/12/27 Vue.js
Python深入学习之闭包
2014/08/31 Python
在Python的Flask框架下收发电子邮件的教程
2015/04/21 Python
Python分析学校四六级过关情况
2017/11/22 Python
Django 路由控制的实现代码
2018/11/08 Python
python实现栅栏加解密 支持密钥加密
2019/03/20 Python
python基于SMTP协议发送邮件
2019/05/31 Python
在Django下测试与调试REST API的方法详解
2019/08/29 Python
Pytorch 计算误判率,计算准确率,计算召回率的例子
2020/01/18 Python
python中安装django模块的方法
2020/03/12 Python
Python configparser模块操作代码实例
2020/06/08 Python
解决使用Pandas 读取超过65536行的Excel文件问题
2020/11/10 Python
Python如何使用ConfigParser读取配置文件
2020/11/12 Python
大学本科生的个人自我评价
2013/12/09 职场文书
幼儿教育感言
2014/02/05 职场文书
研究生毕业自我鉴定范文
2014/03/27 职场文书
2014年社区重阳节活动策划方案
2014/09/16 职场文书
办公室日常管理制度
2015/08/04 职场文书
选调生挂职锻炼工作总结
2015/10/23 职场文书