網頁

搜尋此網誌

2013年2月23日 星期六

Graphviz 圖形視覺化

偶然在自由軟體鑄造場讀到這篇「Graphviz - 用指令來畫關係圖吧!」,玩了一下之後,發現Graphviz是個不錯的軟體,Graphviz是開放源碼的圖形視覺化軟體,圖形視覺化(graph visualization)是將結構化資訊以圖表(diagram)的方式呈現圖形(graph)或網路(network),所以Graphviz就是graph visualization。

Graphviz讀取DOT語言所建立的圖形描述檔案,依據我們設定輸出有用的檔案格式,像是JPG, PNG, SVG, PDF...等。此外,Graphviz對於具體圖表也提供許多有用的特色,例如顏色、字型
、樣式、超連結...等,讓使用者可以調整外觀樣式。

想要在Ubuntu上安裝Graphviz相當容易,執行「sudo apt-get install graphviz」就可以了,安裝完成後,就能利用下列指令建立不同圖表。(這些指令說明透過man graphviz指令)
  • dot
    階層式配置(hierarchical layout)圖形,繪製的圖形有方向性。
  • neato
    彈簧模型配置(spring model'' layout)圖形,通常不超過100個節點,繪製的圖形無方向性。
  • twopi
    放射狀的配置(radial layout)圖形。
  • circo
    環狀配置(circular layout)圖形。
  • fdp
    和neato的配置相似,差別在於neato是最小化energy function,而fdp是減少force,繪製的圖形無方向性。
  • sfdp
    多尺度(multiscale)的fdp版本,繪製的圖形無方向性。
對於這些指令有基本認識之後,最簡單使用Graphviz的方式是利用DOT語言建立一個檔案(通常是.gv的副檔名),利用Graphviz的指令處理輸出圖片,這部分可以參考「Graphviz - 用指令來畫關係圖吧!」裡面的「Graphviz 的使用」。

還有,若想使用Python控制Graphviz,可以使用libgv-python,安裝指令是sudo apt-get install libgv-python,使用方式請參考Graphviz的API文件

###

熱門文章