对于需要生成一些图形的C++项目,建议使用哪种graphviz库API?

Sté*_*ane 6 c++ ubuntu graphviz boost-graph

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

根据第22页的http://www.graphviz.org/doc/libgraph/Agraph.pdf,Libgraph被Cgraph取代.但该文件被称为Agraph,我觉得很奇怪.

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

也许是相关的,我确实看到有一个名为BGL的Boost库,它支持导入和导出graphviz文件.寻找关于是否优先使用BGL直接使用Graphviz或Lgraph的意见.

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

Jer*_*ock 3

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