如何使用 Python 繪製圖型結構?Graphviz 套件的使用筆記|抬升Raise

Eason Chen 陳怡升
2 min readJan 26, 2020

--

因為專案需要,我最近學習一個能繪製圖型結構的套件
因為發現該主題中文教學文章不多,因此寫一篇技術筆記,給未來的自己,以及所有有需要的人

本文同步刊載於 抬升 Raise 部落格

套件簡介

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
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)

--

--

Eason Chen 陳怡升
Eason Chen 陳怡升

Written by Eason Chen 陳怡升

撰寫文章,希望可以分享學到的種種

No responses yet