Gnuplot C++;从txt文件实时打印 我现在正在通过C++中的一个管道从文件中绘制数据。我编写了一个函数,可以读取文本文件,处理信息,在文本文件中绘制数据,并根据需要绘制标签和箭头

Gnuplot C++;从txt文件实时打印 我现在正在通过C++中的一个管道从文件中绘制数据。我编写了一个函数,可以读取文本文件,处理信息,在文本文件中绘制数据,并根据需要绘制标签和箭头,c++,gnuplot,continuous,C++,Gnuplot,Continuous,现在,我需要一种在循环中平滑绘制的方法,以便每次迭代都读取和绘制不同的文本文件,而不使Gnuplot窗口闪烁 例如: for (unsigned int i = 0; i< 10; i++){ Processing_Plotting(i, gp); } for(无符号整数i=0;i

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

例如:

for (unsigned int i = 0; i< 10; i++){
    Processing_Plotting(i, gp);
}
for(无符号整数i=0;i<10;i++){
处理和绘图(i,gp);
}
这是我在主程序中的代码,它将绘制由“i”指示的文本文件。例如:激光数据1、激光数据2等

当前,由于调用的速度,绘图闪烁且无法读取。 我一直在寻找一种使用Gnuplot实时绘制数据的方法,但运气不太好, 任何帮助都将不胜感激。谢谢

我正在策划的这类事情的图片:

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

您的代码片段没有显示如何实际与gnuplot交互,但是有三件事必须确保:1)不要在每帧后关闭然后重新打开管道,2)在每帧后调用管道上的
fflush
,以及3)在帧之间添加延迟。要在Linux调用时延迟
::usleep(微秒)
(包括
unistd.h
),在Windows调用时延迟
::Sleep(毫秒)
和包括
Windows.h


将动画数据管道化到gnuplot的问题是,您不知道它是否保持正常。所以脸红和睡眠是至关重要的。但是我已经用gnuplot构建了一个示波器,所以我知道它可以很好地工作。

有一个动画示例随库提供。它不会闪烁,至少在我的机器(Linux)上不会。免责声明:我是该库的作者,所以这是一个无耻的插件

您的代码片段没有显示如何实际与gnuplot交互,但是有三件事必须确保:1)不要在每帧后关闭然后重新打开管道,2)在每帧后调用管道上的
fflush
,以及3)在帧之间添加延迟。要在Linux调用时延迟
::usleep(微秒)
(包括
unistd.h
),在Windows调用时延迟
::Sleep(毫秒)
和包括
Windows.h


将动画数据管道化到gnuplot的问题是,您不知道它是否保持正常。所以脸红和睡眠是至关重要的。但是我用gnuplot制作了一个示波器,所以我知道它可以很好地工作。

你确定gnuplot是为这个设计的吗?我想它可能是为一个静态绘图文件而设计的..我在不久前遇到了这个--,从未尝试过,但你可能会感兴趣。你确定gnuplot是为这个设计的吗?我想它可能是为一个静态绘图文件而设计的..我在不久前遇到了这个--,从未尝试过,但你可能对此感兴趣。嗨,谢谢,我正在使用管道发送到gnuplot。在检查了我的代码之后,它似乎工作得更好了。它会稍微闪烁,但比以前更容易看到。可能只需要调整睡眠值。幸运的是,这个API不支持3d绘图。它支持3d绘图。包中包含了这样的示例。嗨,谢谢,我正在使用管道发送到gnuplot。在检查了我的代码之后,它似乎工作得更好了。它会稍微闪烁,但比以前更容易看到。可能只需要调整睡眠值。幸运的是,这个API不支持3d绘图。它支持3d绘图。包中包含了这样的示例。