因為專案需要,我最近學習一個能繪製圖型結構的套件 因為發現該主題中文教學文章不多,因此寫一篇技術筆記, 給未來的自己,以及所有有需要的人參考
套件簡介:
Graphviz 是一個繪製流程圖的工具,有提供給Python呼叫的套件,能使用Python讀取資料後,自動繪製成流程圖或圖形結構。
套件安裝步驟:
Windows 需至官方網站下載 Graphviz 安裝包
Mac 用戶,則可使用 Homebrew 安裝
brew install graphviz
Linux 請參考官方網站說明
接著使用pip安裝 Graphviz 套件 ( Graphviz 套件英文官方網站 )
pip install graphviz
套件使用:
#導入套件,開始使用的前置步驟 from graphviz import Digraph dot = Digraph(comment='The Round Table')
#新增一個點 A,顯示名稱為 QQ dot.node('A', label = 'QQ') #新增一個點 B,顯示名稱為 www dot.node('B', label = 'www')
#新增一個從點 A 到點 B 的邊,顯示名稱為 Like,會以箭頭的方式呈現,從 A 點指向 B 點 dot.edge("A", "B", label = "Like")
使用範例:
from graphviz import Digraph dot = Digraph(comment='The Round Table') names = ['剪刀', '石頭', '布'] for i in names: #新增三個結點,分別叫做剪刀石頭布 dot.node(i, i) for i in range(len(names)): #將互相克制的關係畫上去 dot.edge(names[i], names[i-1], "克制") dot
然後如封面所示的剪刀石頭布關係圖就出來啦!
圖形匯出:
#匯出成 pdf 檔案 dot.render('./round-table.gv', view=True)
#顯示 Graphviz 標記碼 str(dot)