有没有适用于C ++的开箱即用的2D / 3D绘图库?

77

我看了一下在交互窗口中绘制函数(或其他类型的图表)的不同选项。我主要使用wxWidgets,但我也可以接受任何其他“接口”。

看看有哪些可用的选项,这是我找到的:

wxPlot:自2006年以来没有更新。但如果它被更新了,它将是一个很好的选择...

wxMathPlot:非常新,不成熟,功能较少(还在活跃吗?)

libgraph:已过时,不稳定,仅支持二维并且只输出图像。

koolplot:太基础,无法控制创建的窗口。

EasyBMP:非常基本,仅能输出图像。

plotutils:仅支持命令行模式。

plplot:C和C++ API几乎没有得到维护。实际上,wxPlot就是基于它的。如果更新C和C++接口,它也可能是一个不错的选择。

有什么评论或想法吗?

谢谢!

14个回答

27

尽管这个帖子已经有些年头了,但它仍然非常有价值。为了补充这个列表,我也强烈推荐QCustomPlot


15

MathGL提供许多绘图类型、C/Fortran接口以及基本数据分析。


10
我个人非常喜欢使用ROOT处理这些需求。但是如果您不需要所有的分析支持,它可能会比较占用空间。

我知道这是一个旧评论,但感谢您指出ROOT。我之前没有听说过它,这将非常有用! - Alex Hirzel
2
我真的很讨厌看到好的库以GNU发布,这实际上使它无用。 - metablaster
@metablaster 我知道并且在我的工作中广泛使用了ROOT和TMVA,它们非常方便,只要你使用基于nix的系统。自从我转到Windows后,我几乎无法构建它,更别说编译任何我自己的代码了。这并不重要,因为我不与CERN合作,但是偶尔我会想念这种便利。 - user8624414

9
你有成熟的Qwt。有一个3D版本潜藏在某个地方。然而,我从来没有对美学结果感到满意。
值得等待Qt3D的发布,以便轻松地自己编写更好的东西。

6

我通过编程为GNUPlot可执行文件提供所需的输入文件,并使用system()函数调用它。这很适合我的情况,因为我只想在研究过程中可视化我的数据。但是,如果您想将绘图功能集成到可执行文件中,也许这不适合您 :)


4
请看 Gnuplot iostream:一个单头文件库,可直接从你的 C++ 代码中直观地访问 Gnuplot 功能。我很喜欢它! - DarioP

4
您可以使用DISLIN,这是一个非常不错的工具!

他们要求支付图书馆费用。 - metablaster

3

可能wxChart是一个选择吗?但我自己没有使用过,而且看起来好像已经有一段时间没有更新了。


3

一个想法:使用Python作为嵌入式脚本语言来绘制图形。Python有很多绘图库


如果您不介意嵌入Python解释器,那么您将从应用程序中获得许多其他好处,还可以访问您链接到的库。+1 - ConcernedOfTunbridgeWells
与将数据写入文件并使用系统调用运行Python脚本相比,哪种方法更方便快捷? - zhangxaochen
@zhangxaochen 这取决于你正在做什么。 - jfs

1

我发现游戏库 Allegro 在过去很容易使用。也许值得一试。


1

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