如何在C++中使用gnuplot?

13

我希望用一个C++程序生成的(x,y)点绘制一些图形。我可以通过从终端执行gnuplot命令成功地绘制这些数据。

但我想从C++程序中绘制同样的图形,这在Ubuntu 16.04 LTS中是否可行?


也许你可以看一下GnuPlotScripting C++17库。 - Picaud Vincent
@PicaudVincent,我看了一下这个库,它可能适合我想做的事情。我想知道它是否可以制作蜡烛图表,并将绘图嵌入由wxWidgets创建的窗口中? - CaTx
另外,您可能需要联系 gnuplot 将该库添加到他们的接口列表中此处 - CaTx
@CaTx 感谢 free_form,您可以访问所有 gnuplot 命令,例如 script.free_form("plot {} using 1:3:2:6:5 with candlesticks", data); 应该可以工作。关于 wxWidgets,我的软件包中没有相关内容,抱歉。 - Picaud Vincent
@CaTx 感谢您的建议。我之前已经提出了请求,但是没有得到更新。 - Picaud Vincent
真遗憾!我很高兴找到这个库,期待测试它。 - CaTx
3个回答

13

可以的,只需使用标准软件包命令安装gnuplot:

sudo apt-get update
sudo apt-get install gnuplot

之后您只需要集成gnuplot iostream header,这是一个用于从C ++调用gnuplot的接口:

#include "gnuplot-iostream.h"

安装gnuplot时,此标题未包含在内,但可在此处找到。这是一个iostream示例链接,供参考:C++ iostream示例代码


6

我来回答一下,因为我无法评论。

如hackela所说,您可以安装gnuplot,然后可以使用以下命令从aptitude安装gnuplot-iostream,而不是手动下载头文件:

sudo apt-get install libgnuplot-iostream-dev

4
另一个选择是:C++库matplotplusplus实际上是向GnuPlot发送绘图命令。它提供了类似于Python matplotlib的API,并在C++软件包管理器vcpkg中可用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接