Graphviz 是一套專門用來繪製 graph 的軟體,這裡講的 graph 不是指一般的圖形,而是指一種表是各個節點之間的關係圖,例如:

graph-demo1

這種關係圖在資料結構與演算法的領域用的很多,通常如果結構簡單的 graph 可以使用一般的繪圖軟體以人工徒手來畫,但是如果結構比較複雜,用手畫就比較困難了,就像這樣的圖:

root-graph

像這樣複雜的 graph 就很適合使用 Graphviz 來畫。

安裝 Graphviz

以下介紹如何在 Mac OS X 中安裝與使用 Graphviz。

Step 1
首先到 Graphviz 的官方網站下載適用於 Mac OS X 的安裝檔,它是一個 pkg 檔,下載下來之後,直接執行它。

Step 2
執行 pkg 安裝檔之後,就會出現安裝的畫面,點選「繼續」。

mac-os-x-install-graphviz-1

Step 3
這是「軟體許可協議」,Graphviz 是使用 Eclipse Public License(詳細說明可參考 Open Foundry),點選「繼續」。

mac-os-x-install-graphviz-2

Step 4
點選「同意」。
mac-os-x-install-graphviz-3

Step 5
選擇安裝位置,然後點選「繼續」。
mac-os-x-install-graphviz-4

Step 6
點選「安裝」。
mac-os-x-install-graphviz-5

Step 7
輸入密碼後,點選「安裝軟體」。

mac-os-x-install-graphviz-6

Step 8
這樣就安裝完成了,最後點選「關閉」。
mac-os-x-install-graphviz-7

使用 Graphviz

Graphviz 安裝完成後,就可以開始用它來畫圖了,基本上 Graphviz 沒有什麼設別的操作界面,全部的操作都是透過指令搞(script)的方式來畫圖,但是它的語法很直覺,就算沒學過的人直接看應該都可以看得懂,下面這個就是第一張圖的指令搞:

digraph demo1 {
  A -> B -> C [color = red ,penwidth = 2];
  A -> {D E};
}

而寫好指令稿之後,就直接用 Graphviz 開啟,這樣 Graphviz 就會把圖自動畫出來,就像這樣:

graphviz-mac-os-x

而畫出來的圖形,可以藉由匯出(Export)功能,將圖形儲存至檔案中:

graphviz-export

輸出的檔案類型支援非常多種,常用的 PDF、JPEG、PNG、SVG、EPS、PS、TIFF 等都有支援,很不錯。

graphviz-export-file-format

Graphviz 的詳細語法,可以由 Graphviz 的官方文件查詢,而如果想看更多範例,可以上 Graphviz 的官方網站,上面有許多更複雜的範例可以參考。