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

77

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

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

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

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

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

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

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

plotutils:仅支持命令行模式。

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

有什么评论或想法吗?

谢谢!

14个回答

1

AntiGrain Geometry (AGG)。http://www.antigrain.com/。它是一個開源的 2D 向量圖形庫。它是一個獨立的庫,沒有其他依賴項。具有良好的文檔。Python 繪圖庫 matplotlib 使用 AGG 作為其中一個後端。


2
AGG 是一个渲染引擎,而不是绘图库。如果要将其用于绘图,则需要在其之上重新实现 matplotlib。 - Thelema

1

看一下wxArt2d,它是一个完整的2D编辑和绘图框架。查看截图以获取更多示例。

一些有趣的特点:

  • 读写SVG和CVG
  • 同一文档的几个视图
  • 空闲时更新更改
  • 优化的2D对象绘制

1

嗨!我是wxMathPlot的开发者!该项目正在活跃中:我花了很长时间才发布一个新版本,因为代码需要部分重写以引入新功能。请查看新的0.1.0版本:它比旧版本有了巨大的改进。无论如何,它不提供3D(即使我一直在考虑...)。


2
能否实现“实时”(或接近实时)绘图?明确一点 - 我希望能够从数据源更新并在新数据到达时进行绘制。 - Tim

-1

OpenGL。这可能会很困难,甚至需要重新发明轮子。 请记住,OpenGL是一个通用的3D库,而不是特定的绘图库,但您可以基于它实现绘图。


8
因为我认为在一个关于库推荐问题中建议自己构建不是真正回答该问题,所以被投票降低了。 - antipattern
因为一旦你尝试让gnuplot做你想要的事情,你就会更加欣赏“自己动手”的方法。gnuplot的语法难以理解,而符文背后的编程模型也没有任何解释。要想弄清楚如何在屏幕上显示我的3D点,我用OpenGL和SDL早就完成了两次。 - undefined

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