2011-10-28 49 views

回答

16

你很幸运。

Boost图可以从dot语言(这是GraphViz使用的语言)序列化并反序列化。 (免费)Boost Graph Library书籍和网站上有几个例子。

见如:http://www.boost.org/doc/libs/release/libs/graph/doc/write-graphviz.html

如果你把样品上先前网页输出和运行

dot -Tpng dot > test.png 

你会得到类似如下图:

enter image description here

这是一个直接链接到example using dynamic properties

+0

这真棒,谢谢你的回答,我会尽快。 但是有可能使用setS(not vecS)类型的边和顶点来可视化图形?因为我看到在graphviz的所有示例中,图都使用vecS(它有一个索引)。 – shn

+0

由于我的图形使用了顶点的setS,我必须为我的图形提供一个vertex_index属性图,或者给write_graphviz一个明确的vertex_id 参数,否则write_graphviz将不起作用。 你可以给我一个非常简单的例子,说明如何为我的图形提供一个vertex_index属性映射,或给write_graphviz一个明确的vertex_id参数? 我的图形定义为: typedef adjacency_list Graph; 其中NodeData和EdgeData是结构。 – shn