如何用Python绘制每秒15000点连续读取的数据?

2024-06-01 07:19:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经编写了一个Python脚本,当它们从连接到函数生成器的labjacku3-HV流式传输时,每秒读取并存储15000个数据点(电压读数)。我使用Python的多处理程序在一个进程中从LabJack读取15000hz的电压数据,通过管道将数据传递到第二个进程,在那里数据存储在一个列表中,并在那里实时打印。在

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

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

我目前正在使用Matplotlib和drawnow()函数实时绘制和更新绘图。这一过程可行,但速度太慢,无法实际用于实验。在

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

谢谢你的帮助。在


Tags: 数据函数脚本绘图列表进程matplotlib时间
1条回答
网友
1楼 · 发布于 2024-06-01 07:19:16

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

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

-使用动画库,它非常用户友好,在脚本中实现并不困难。你可以用这个页面作为参考,我曾经用过它来解决一个类似的问题:

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

相关问题 更多 >