【问题标题】:How to plot data read continuously at 15000 points per second in real time with Python?如何使用 Python 实时绘制每秒 15000 点连续读取的数据?
【发布时间】:2016-10-07 17:14:03
【问题描述】:

我编写了一个 Python 脚本,当它们从连接到函数发生器的 LabJack U3-HV 流式传输时,每秒读取和存储 15000 个数据点(电压读数)。我正在使用 Python 的多处理在一个进程中从 LabJack 读取 15000 Hz 的电压数据,将数据通过管道传递到第二个进程,在该进程中存储在列表中并实时进行绘图。

当电压数据从 LabJack 流式传输时,我正在尝试从函数发生器(电压与时间)实时绘制电压正弦波。我还需要同时实时绘制这些数据的傅里叶变换。

时间列表是通过参考电压读数发生的 1/速率创建的。无需实时绘图,该脚本可以准确地存储电压和时间数据,每秒最多 15000 个样本。只有当我尝试使用 Matplotlib 实时绘图时,才会出现问题。

我目前正在使用 Matplotlib 和 drawow() 函数来实时绘制和更新绘图。此过程有效,但速度太慢,无法在实验中实际使用。

谁能建议最好的方法(其他绘图库,更好地使用 Matplotlib 等)来实时准确地绘制这个电压正弦波(电压与时间)和傅里叶变换?

感谢您的帮助。

【问题讨论】:

    标签: python matplotlib plot


    【解决方案1】:

    我想我可以给你两个建议:

    -如果可能的话,减少要显示的点数(它肯定会减少问题的要求),例如每三个点使用一个点(在我的应用程序中,我曾经在第二个显示 6000 个点)。

    -使用动画库,它非常人性化,在脚本中实现也不难。你可以参考这个页面,我用过一次来解决类似的问题:

    https://pythonprogramming.net/python-matplotlib-live-updating-graphs/

    【讨论】:

      猜你喜欢
      • 2021-02-10
      • 2012-09-22
      • 1970-01-01
      • 2021-09-17
      • 1970-01-01
      • 2017-05-06
      • 2021-03-22
      • 2016-06-26
      • 1970-01-01
      相关资源
      最近更新 更多