c++ - 对于需要生成一些图形的 C++ 项目,推荐使用哪个 graphviz 库 API?

标签 c++ ubuntu graphviz boost-graph

我知道有几个版本的 Graphviz 作为库。但是我对哪个被认为是当前+推荐有点困惑。我想从 Linux GUI 应用程序生成并显示一些图形。

根据 http://www.graphviz.org/doc/libgraph/Agraph.pdf在第 22 页,Libgraph 被 Cgraph 取代。但是这个文档叫做Agraph,我觉得很奇怪。

在第 23 页上,它还说 Lgraph 是 Cgraph 的 C++ 继承者,并且由于我使用的是 C++,所以我很想知道更多,但我似乎无法在任何地方找到 Lgraph。

也许相关,我确实看到有一个名为 BGL 的 Boost 库,它支持导入和导出 graphviz 文件。寻找关于直接使用 BGL 而不是 Graphviz 还是 Lgraph 更可取的意见。

在 Ubuntu 上,如果我 sudo apt-get install libgraphviz-dev 我会得到 Cgraph。在这种情况下,这个问题要么确认 Cgraph 是推荐的库,要么询问 Lgraph 或 BGL 是否值得考虑。

最佳答案

BGL 不提供与 Graphviz 的交互界面;如果需要,您将需要使用 Graphviz 的原生库之一,例如 cgraph。 BGL 可以读取和输出 Graphviz 格式的文件,但这似乎不是您要找的;它也有一些自己的布局算法,但它们不像 Graphviz 中的算法那么复杂。

关于c++ - 对于需要生成一些图形的 C++ 项目,推荐使用哪个 graphviz 库 API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15910527/

相关文章:

c++ - shared_ptr SIGSEGV 中的无序映射

c++ - 动态数组和空指针

ubuntu - Smartgit 在 Ubuntu 上安装错误

ubuntu - 我的根目录是/home/username,如何恢复到/root

ubuntu - 无法在用户界面 OpenDaylight 中显示节点

textmate - TextMate 有 DOT 包吗?

c++ - 如何将ls命令的输出获取到C++中的数组

c++ - 如何填充 QStandardItemModel

layout - Graphviz:如何在一行中制作时间线/排名

graphviz - 奇怪的图形边缘重叠