[英]scanning plot through a large data file using python
我有一个很大的(10-100GB)16位整数数据文件,它表示来自数据采集设备的时间序列。 我想编写一段通过它扫描的python代码,绘制一个移动窗口,显示此数据的几秒钟。 理想情况下,我希望此过程尽可能连续。
数据是在4MHz采样的,因此要绘制几秒钟的数据需要在图形上绘制约1000万个数据点。 不幸的是,由于我要查看的功能在文件中很少,因此我无法真正降低采样率。
matplotlib并非真正旨在做到这一点。 从技术上讲,这是可行的,并且我有一个半工作的matplotlib解决方案,该解决方案允许我绘制任何特定的时间窗口,但是对于连续扫描增量变化的数据来说,它太慢且太麻烦-重绘该图形需要几秒钟,这是太久了。
有人可以建议使用python软件包或方法吗?
PyQtGraph比Matplotlib快,但我不知道它是否可以每秒绘制1000万点。 它还包含多种对数据进行下采样的方法,因此其中一种可能仍然对您有用。 请注意,它需要Qt和PyQt。
不过,您仍然有5e9和5e10之间的数据样本。 如果您可以同时绘制1000万个图,这仍然意味着可以绘制500到5000个图。 您真的要目视检查它们吗? 您可能考虑实现某种功能检测。
在类似问题(时变热图)中对我有用的某项工作是运行批处理工作,在一夜之间生成数千个此类图,并将每个图另存为单独的图像。 以10s计算,您可以在10h内生产3600。 然后,您可以简单浏览图像,从而为您提供所需的见解。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.