我试图使用管道接口来处理gnuplot (一个标准的gnuplot_i.{cpp }),以便生成在用C++编写的另一个程序中不断变化的值的实时显示。这是可行的,但我想看看是否有人有任何改进的建议。
该实现包含了一种方便的方法,可以将单个向量和2个向量绘制为二维图。它通过对mktemp函数的标准库调用将临时文件写入临时文件,然后将其用作gnuplot调用的输入。这产生了太多的临时文件,当地块上的更新率很高时(可能是IO在某一点上受到限制),似乎不能很好地工作。我已经决定在绘图调用中使用'-‘伪文件,并将向量直接发送到管道(以一行"e“结尾)。这样做更好,但仍然不是很好。
是否有一种更巧妙的方法来做我想做的事情,而不是在值发生变化时不断地重新生成地块?多长时间用新信息更新情节是安全的?或者,也许有一种更简单的方法来实现我想做的事情?
@安迪·罗斯
我本身没有“要求”。我所说的“光滑”的意思是,也许有一种更优雅的方法来完成我正在尝试的工作,而我仍在使用gnuplot。虽然优雅是主观的,但我发现我目前采取的方法特别不雅。我所说的保险箱的意思是,是否有人知道以多大的更新速度会出现IO问题(例如延迟、显示锁等)。用上述方法。
出于以下原因,我想避免使用工具包(至少我的候选列表)。
但是,如果您在C/C++绘图库方面有任何特别的建议,考虑到上面的列表,这似乎是一个很好的选择,我总是对建议感兴趣(警告:我已经四处寻找过它们了)。
发布于 2013-01-13 16:12:49
gnuplot-cpp是一个面向对象的C++包装器接口,它围绕着一个POSIX管道连接和Gnuplot。
示例文件立即编译,接口代码看起来不错;我将在当前项目中尝试它。
发布于 2010-02-03 14:21:21
有一个C2gnuplot库是我几年前写的。它很简单,但可能会给你一些提示。基本上,它使用FIFO文件将数据传递到Gnuplot.It中,能够从情节中生成动画。这里是用该应用程序创建的视频。我希望这对你有帮助。
发布于 2010-02-02 05:04:18
斯利克?安全?你能更具体地说明你的要求吗?
听起来你想用一个用来生成静态图像的工具来做动画可视化。如果您的显示像您说的那样简单,为什么不编写一个快速的GUI应用程序(使用您选择的工具包)来代替呢?
https://stackoverflow.com/questions/2180471
复制相似问题