如何在C++中实时绘制Gnuplot中的图形?

chu*_*tsu 10 c++ gnuplot real-time

我正在尝试使用GNUplot和C++实时绘制图形.有谁知道这样做的任何好的图书馆?谢谢

Ben*_*igt 5

gnuplot 支持通过管道输入(在 Windows 上,有一个单独的可执行文件pgnuplot)。然后您的程序可以向 gnuplot 发送新命令,例如replot,就像您直接将它们输入到 gnuplot 界面中一样。

\n\n

如何设置管道连接以及从 C++ 程序写入管道的发送端的方式因操作系统而异,因此如果您需要更多帮助,您必须告诉我们您正在使用什么。

\n\n

在 Windows 上,CreatePipe然后您可以设置传递给 的结构hStdInput的元素。如果您需要来自 的状态消息,则同上。STARTUPINFOCreateProcesshStdOutputpgnuplot

\n\n

在 POSIX(Unix、Linux、Mac OSX 等)上,您可以使用它popen作为获得单向连接的快速方法。对于双向,它的工作方式更像在 Windows 上:pipe获取两端的句柄,然后fork在子进程中调用dup2将 stdin 和 stdout 与管道相关联,然后exec替换gnuplot子进程,保留您设置的管道。

\n\n

编辑:来自gnuplot 文档

\n\n
\n

特殊文件名\xe2\x80\x99-\xe2\x80\x99指定数据是内联的;即,他们遵循命令。命令后面只有数据;过滤器、标题和线条样式等绘图选项仍保留在绘图命令行上。这类似于 unix shell 脚本中的 << 和 VMS DCL 中的 $DECK。输入数据就像从文件中读取一样,每条记录一个数据点。第一列开头的字母“e”终止数据条目。using选项可以应用于\n 这些数据\xe2\x80\x94,使用它通过函数过滤\n 它们可能有意义,\n 但选择列可能\n 不会\xe2\x80\x99t!

\n
\n