Gnuplot C ++从txt文件实时绘制

时间:2013-08-07 10:45:28

标签: c++ gnuplot continuous

您好我正在使用c ++通过管道绘制文件中的数据。我编写了一个函数,它读入文本文件,处理信息,绘制文本文件中的数据,并根据需要绘制标签和箭头。

现在我需要一种在循环中平滑绘制的方法,以便在每次迭代时读取并绘制不同的文本文件,而不会使Gnuplot窗口闪烁。

例如:

for (unsigned int i = 0; i< 10; i++){
    Processing_Plotting(i, gp);
}

这是我在主程序中的代码,它将绘制由'i'指示的文本文件。例如:laserData1,laserData2等。

目前,由于调用速度,情节会闪烁并且不可读。 我找了一种方法用Gnuplot实时绘制数据,但运气不好, 任何帮助,将不胜感激。感谢

我正在密谋的照片: http://imgur.com/3eTpMaB

1 个答案:

答案 0 :(得分:1)

gnuplot-iostream库附带了一个动画示例。它不闪烁,至少不在我的机器上(Linux)。免责声明:我是该库的作者,所以这是一个无耻的插件。

您的代码段未显示您实际与gnuplot的接口,但是您必须确保做三件事:1)不要关闭然后在每帧之后重新打开管道,2)调用{{1在每帧之后的管道上,以及3)在帧之间添加延迟。要延迟Linux通话fflush(并包括::usleep(microseconds)),请在Windows上致电unistd.h并添加::Sleep(milliseconds)

关于将动画数据传递到gnuplot的事情是你不知道它是否跟上了。因此,冲洗和睡眠至关重要。但我已经用gnuplot构建了一个示波器,所以我知道它可以很好地工作。