我有一个16位整数数据的大型(10-100 10)数据文件,它代表来自数据采集设备的时间序列。我想写一段python代码来扫描它,画出这个数据的几秒钟的移动窗口。理想情况下,我希望这是尽可能连续的。
数据是以4 4MHz的频率采样的,因此要绘制几秒钟的数据,需要在图形上绘制大约1000万个数据点。不幸的是,我不能真的下采样,因为我想要看到的特征在文件中是稀疏的。
matplotlib实际上并不是为此而设计的。这在技术上是可行的,我有一个半工作的matplotlib解决方案,它允许我绘制任何特定的时间窗口,但是对增量变化的数据进行连续扫描太慢太麻烦了-重新绘制图形需要几秒钟,这太长了。
有没有人能推荐一个python包或方法来做这件事?
发布于 2016-04-20 19:47:17
PyQtGraph比Matplotlib更快,但我不知道它是否能每秒绘制1000万个点。它还包含多种对数据进行下采样的方法,因此其中一种方法可能仍然对您有用。请注意,它需要Qt和PyQt。
尽管如此,您仍然有5e9到5e10个数据样本。如果你可以同时绘制1000万张图,这仍然意味着要绘制500到5000张图。你真的要在视觉上检查它们吗?您可以考虑实现某种特征检测。
发布于 2017-05-17 12:42:10
在类似的问题(时变热图)中,对我有效的方法是运行一个批处理作业,在一夜之间生成数千个这样的图,将每个图保存为单独的图像。以10s的速度计算,你可以在10小时内生产3600个。然后你可以简单地浏览图像,这可以为你提供你正在寻找的洞察力。
https://stackoverflow.com/questions/36725361
复制相似问题