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

Which graphviz library API is recommended for a C++ project that needs to generate some graphs?

本文关键字:API graphviz 项目 于需 c++ 图形      更新时间:2023-10-16

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

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

在第23页,它还说Lgraph是Cgraph的c++继承者,因为我使用c++,我想知道更多,但我似乎找不到Lgraph在任何地方。

也许是相关的,我确实看到有一个名为BGL的Boost库,它支持导入和导出graphviz文件。在Graphviz或Lgraph中,是否更适合使用BGL。

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

BGL不为Graphviz提供交互接口;如果需要,则需要使用Graphviz的原生库之一,如cgraph。BGL可以读取和输出graphviz格式的文件,但这似乎不像你正在寻找;它也有一些自己的布局算法,但它们不像Graphviz那样复杂。