溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用Graphviz

發(fā)布時間:2021-10-13 16:01:15 來源:億速云 閱讀:225 作者:iii 欄目:編程語言

本篇內(nèi)容主要講解“如何使用Graphviz”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何使用Graphviz”吧!

前期準備知識

安裝Graphviz

第一步:Graphviz官網(wǎng)安裝graphviz(可下載.msi和免安裝版),下載后將bin目錄配置到環(huán)境變量Path中

第二步:命令行安裝graphviz,這個模塊給出了很多的python接口去使用Graphviz軟件

pip install graphviz

python-graphviz 是什么?

官網(wǎng) 文檔

==簡介==:Graphviz是AT&T Labs Research開發(fā)的開源圖形可視化軟件。圖形可視化是一種將結構信息表示為抽象圖形和網(wǎng)絡圖的方式。它在網(wǎng)絡,生物信息學,軟件工程,數(shù)據(jù)庫和網(wǎng)頁設計,機器學習以及其他技術領域的可視界面中具有重要的應用。

==特征==:Graphviz布局程序以簡單的文本語言獲取圖形的描述,并以有用的格式制作圖表,例如用于網(wǎng)頁的圖像和SVG;PDF或Postscript,以包含在其他文檔中;或在交互式圖形瀏覽器中顯示。Graphviz具有用于具體圖表的許多有用功能,例如顏色,字體,表格節(jié)點布局,線條樣式,超鏈接和自定義形狀的選項。

使用原理: graphviz實際是一種繪圖工具,可以根據(jù)dot腳本來畫出樹形圖,==我們可以利用python代碼生成dot腳本==,然后調(diào)用graphviz來解析腳本,生成一張圖片.

dot腳本語言:是開源工具包Graphviz上用來畫圖的一門腳本語言,語法非常簡單,官方文檔也只有8頁。

案例

案例一:

from graphviz import Digraph
dot = Digraph(comment='The Test Table')# 給dot腳本語言加注釋

#----------創(chuàng)建結點語句----
# 添加圓點A,A的標簽是Dot A
dot.node('A', 'Dot A')
# 添加圓點 B, B的標簽是Dot B
dot.node('B', 'Dot B')
# 添加圓點 C, C的標簽是Dot C
dot.node(name='C', label= 'Dot C',color='red')

#----------創(chuàng)建邊的語句-----(兩種方式)
# 創(chuàng)建一堆邊,即連接AB的兩條邊,連接AC的一條邊。
dot.edges(['AB', 'AC'])
# 在創(chuàng)建兩圓點之間創(chuàng)建一條邊
dot.edge('B', 'C', 'test')

#--------觀看原dot語言的表達形式-----
# 獲取DOT source源碼的字符串形式,如圖一
print(dot.source)

#--------顯示圖像的-----------
#dot.view()  直接顯示,使用Digraph.gv默認名
dot.render('test-table.gv', view=True)# 設置圖片名,以及直接顯示

dot腳本原語:

如何使用Graphviz

案例二:

from graphviz import Digraph

sub_g0 = Digraph(comment="process1",graph_attr={"style":'filled',"color":'lightgrey'},node_attr={"style":"filled","color":"red"})
sub_g0.node("a0","a0")
sub_g0.node("a1","a1")
sub_g0.node("a2","a2")
sub_g0.node("a3","a3")
sub_g0.edge("a0","a1")
sub_g0.edge("a1","a2")
sub_g0.edge("a2","a3")
sub_g0.edge("a3", "a0")

sub_g1 = Digraph(comment="process1",graph_attr={"style":'filled'})
sub_g1.node("B","b0")
sub_g1.node("C","b1")
sub_g1.node("D","b2")
sub_g1.node("E","b3")
sub_g1.edges(["BC","CD","DE"])

grap_g = Digraph("G",format="pdf")

grap_g.node(
"start", label="start",shape="Mdiamond")
grap_g.node(
"end", label="end", shape="Mdiamond")

grap_g.subgraph(sub_g0)  #將sub_g0和sub_g0  的Digraph加入到grap_g的Digraph中,方便一次顯示
grap_g.subgraph(sub_g0)

grap_g.edge("start","a0")
grap_g.edge("start","B")

grap_g.edge("a1","E")
grap_g.edge("D","a3")

grap_g.edge("a3","end")
grap_g.edge("E","end")

grap_g.view()
#grap_g.render('test-table2.gv', view=True)

到此,相信大家對“如何使用Graphviz”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關內(nèi)容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI