performance - 高性能实时数据显示

标签 performance visualization real-time-data

我正在尝试找到一种用于绘制可用于高性能应用程序的数据(主要是折线图等)的工具。我的数据窗口通常包含 500 到几千个点,我会对 10 左右的帧率感到满意。我在套接字上以二进制流的形式接收数据。我在 Mac OS X 上。

我尝试了几种解决方案,并在下面讨论我与他们的经验。

R : 非常慢,跟不上,阅读套接字很痛苦,图形闪烁。

matplotlib : 很慢,但也有点用。然而,它需要大量的 Python 机器才能运行,而且 IMO 的 API 非常不透明。在不断更新的情况下,包含图形的窗口变为模态,并且出现 Mac 沙滩球——不适合用户交互。

Gnuplot : 更好的性能和 API。但是,通过生成临时 ASCII (!) 文件来向 gnuplot 传输大量数据——这意味着如果我的帧速率上升,我将开始进行大量磁盘读取,这是一个性能问题。

还有其他建议吗?

最佳答案

尝试使用管道数据而不是临时文件的 gnuplot。示例用法:

plot "data_acquisition_cmd <" with image

您也可以通过从管道中读取命令来输入无穷无尽的重新绘制流:
load "while [ 1 ]; do echo 'replot'; done <"

要获得更强大的解决方案,请考虑使用 Perl 中的 gnuplot 接口(interface),例如 GnuplotIF , 或 Python ( gnuplot.py ),因为它们允许对 gnuplot 进行编程控制以及将数据直接传递给它的能力。

编辑:感谢 Jonhoo 的语法更正

关于performance - 高性能实时数据显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9162331/

相关文章:

performance - 合并排序、快速排序还是堆排序?

java - if 和逻辑运算符之间的性能差异是什么

ios - Core-plot 实时数据重绘图

database - 将唯一访问者存储在分布式数据库中

javascript - 动态改变 Javascript D3 布局模拟

python - 如何将 Spark Streaming 与 TensorFlow 集成?

sql - SQL 中字符串比较与 int 连接的性能

iphone - 为 iPhone 编写干净、高性能的代码

r - 在绘图的 x 轴上添加美元符号

java - 搜索 Java 库以构建与数据交互的应用程序