2011-10-28 81 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