添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

以下代码实现动态绘制随机数据. 将代码中的 xdata ydata 替换为你的数据即可.

import time
import matplotlib.pyplot as plt
import numpy as np
from numpy.random import rand
if __name__ == '__main__':
    # Enable interactive mode.
    plt.ion()
    # Create a figure and a set of subplots.
    figure, ax = plt.subplots()
    # return AxesImage object for using.
    lines, = ax.plot([], [])
    ax.set_autoscaley_on(True)
    # ax.set_xlim(min_x, max_x)
    ax.grid()
    for n in range(600):
        # A template of data generate...
        xdata = np.arange(128)
        ydata = rand(128)
        # update x, y data
        lines.set_xdata(xdata)
        lines.set_ydata(ydata)
        #Need both of these in order to rescale
        ax.relim()
        ax.autoscale_view()
        # draw and flush the figure .
        figure.canvas.draw()
        figure.canvas.flush_events()
        time.sleep(0.01) 

以下代码实现动态绘制二维随机数据. 将代码中的 imdata 替换为你的二维数据即可.

import time
import matplotlib.pyplot as plt
import numpy as np
from numpy.random import rand
if __name__ == '__main__':
    imshape = (64,64,3)
    imdata = np.zeros(imshape)
    # Enable interactive mode.
    plt.ion()
    # Create a figure and a set of subplots.
    figure, ax = plt.subplots()
    # return AxesImage object for using.
    im = ax.imshow(imdata)
    for n in range(600):
        # A template of data generate...
        imdata = rand(*imshape)
        # update image data
        im.set_data(imdata)
        # draw and flush the figure .
        figure.canvas.draw()
        figure.canvas.flush_events()
        time.sleep(0.01) 

如果对你有帮助, 记得点个赞哦o( ̄▽ ̄)ブ

补充知识:jupyter notebook matplotlib绘制动态图并显示在notebook中 有些时候matplotlib绘图没法显示在notebook中,或者显示不了。这与backend有关。 首先启动你的notebook,输入 %pylab 查看你的matplotlib后端,我的输出为: Qt5Agg matplotlib实现数据实时刷新前言源码结语 matplotlibpython下非常好用的一个数据可视化套件,网上相关的教程也非常丰富,使用方便。本人需求一个根据实时数据刷新曲线的上位机软件,找了半天,基本上都是使用matplotlib的交互模式,我折腾半天还是没有实现想要的效果,但却通过另一种方法实现了想要的效果。 注释已经很充分,不多赘述,直接看源码。 import mat... 在使用Python库时,常常会用到matplotlib.pyplot绘图,本文介绍在PyCharm及Jupyter Notebook页面中控制绘图显示与否的小技巧。 在PyCharm中显示绘图绘图代码最后加上“plt.show()”语句。 import numpy as np import matplotlib.pyplot as plt x = np.arange(0, 2*np.pi, .001) y = np.sin(2 * np.pi * x) plt.clf() plt.plot(x, y) l = plt.axhline(linewidth=1, color='black') 最近在做四足的运动学仿真,因为这一段时间用python比较多,所以想直接用python做运动仿真,通过画图来展示步态和运动效果。了解了一下matplotlib库之后又参考了一些网上的博客,成功实现了绘图动态刷新的效果,类似动画效果。 print(er),希望python能告诉你原因,抱歉!导入模块比较简单,首先声明使用pyqt5,通过FigureCanvasQTAgg创建画布,可以将画布的图像显示到UI,相当于pyqt5的一个控件,后面的绘图就建立在这个画布上,然后把这个画布当中pyqt5的控件添加到pyqt5的UI上,其次要导入matplotlib.figure的Figure ,这里要注意的是matplotlib.figure中的Figure,不是matplotlib.pyplot模块中的Figure,要区分清楚。 Matplotlib交互模式画图动态刷新延迟等问题一、引子二、问题三、测试分析四、解决方案   最近在实验室优化基于 EPICS 协议的 Python 控制程序,其中,硅漂移探测器设备(silicon drifting detector, SDD)需要实时采集数据并图形化显示测试曲线。因此,在控制程序中使用到了 Matplotlib,以下代码片段为模拟实验数据采集过程,图1(a)为模拟实验数据采集显示效果。   for 循环结合 plt.ion() 和 plt.pause(0.1) 的用法已有很多 用python做仿真一个痛点就是不能像netlogo等一些其他软件可以很方便的实现实时数据可视化,也正是由于这一点,调试仿真系统时不够直观。因此,掌握如何根据仿真系统即时生成的数据绘制动态图形很重要。已经有几位博主给出了详细的博文,这里给大家列举出来。为了增加点新东西,,方便大家读懂代码。 使用 Matplotlib 绘制图形并嵌入 Tkinter 中,可以使用 FigureCanvasTkAgg 类。这个类可以将 Matplotlib 图形转换为 Tkinter 可用的图形,然后将其嵌入 Tkinter GUI 中。 实现动态刷新,可以在循环中不断地更新数据并重新绘制图形。 以下是一个示例代码: import matplotlib matplotlib.use("TkAgg") 目录一、pyqt5的UI中嵌入matplotlib方法1、导入模块2、创建pyqt5画布,并简单设置样式3、填上创建pyqt5画布挖的坑4、把画布添加到pyqt5的UI中二、实时刷新matplotlib图像的坑 一、pyqt5的UI中嵌入matplotlib方法 1、导入模块 导入模块比较简单,首先声明使用pyqt5,通过FigureCanvasQTAgg创建画布,可以将画布的图像显示到UI,相当于pyqt5的一个控件,后面的绘图就建立在这个画布上,然后把这个画布当中pyqt5的控件添加到pyqt5的U 在数据分析和可视化场景中,我们常常需要实现实时动态图表,比如每分钟读取数据库新的记录,及时更新图表显示最新数据,而不是静态显示某个时间点的数据。本文将介绍使用Python matploblib库的animation功能实现实时动态绘图方法。 一、现有的集成工具 绘制动图可以用一些现有的集成库,但是很麻烦,你需要调整和他们一样的参数和格式,定制化程度比较低,还得再去搞懂它们的东西。比如这些现有的: https://github.com/JackMcKew/pandas_alive 二、多张图片的合成 使用Python PIL.Image 制作GIF图片: import PIL.Image # 相关模块 img = Image.open(img_name) #