(轉)windows下Graphviz安裝及入門教程
阿新 • • 發佈:2019-01-11
http://www.cnblogs.com/onemorepoint/p/8310996.html
- 下載安裝配置環境變數
- intall
- 配置環境變數
- 驗證
- 基本繪圖入門
- graph
- digraph
- 一個複雜的例子
- 和python互動
發現好的工具,如同發現新大陸。有時,我們會好奇,論文中、各種專業的書中那麼形象的插圖是如何做出來的,無一例外不是對繪圖工具的熟練使用。
下載安裝、配置環境變數
intall
windows版本下載地址:http://www.graphviz.org/download/
雙擊
msi
檔案,然後一直next(記住安裝路徑,後面配置環境變數會用到路徑資訊),安裝完成之後,會在windows開始選單建立快捷資訊,預設快捷方式不放在桌面。配置環境變數
將graphviz安裝目錄下的bin資料夾新增到Path環境變數中:
驗證
進入windows命令列介面,輸入
dot -version
,然後按回車,如果顯示graphviz的相關版本資訊,則安裝配置成功。基本繪圖入門
開啟windows下的graphviz編輯器gvedit,編寫如下的dot指令碼語言,儲存成gv格式文字檔案。然後進入命令列介面,使用dot命令,將gv檔案轉化為png圖形檔案。
dot D:\test\1.gv -Tpng -o image.png
- 1
-
graph
graph使用
--
描述關係graph pic1 { a -- b a -- b b -- a [color=blue] }
digraph
使用
->
描述關係digraph pic2 { a -> b a -> b b -> a [style=filled color=blue] }
一個複雜的例子
digraph startgame { label="遊戲資源更新流程" rankdir="TB" start[label="啟動遊戲" shape=circle style=filled] ifwifi[label="網路環境判斷是否 WIFI" shape=diamond] needupdate[label="是否有資源需要更新" shape=diamond] startslientdl[label="靜默下載" shape=box] enterhall[label="進入遊戲大廳" shape=box] enterroom[label="進入房間" shape=box] resourceuptodate[label="資源不完整" shape=diamond] startplay[label="正常遊戲" shape=circle fillcolor=blue] warning[label="提醒玩家是否更新" shape=diamond] startdl[label="進入下載介面" shape=box] //{rank=same; needupdate, enterhall} {shape=diamond; ifwifi, needupdate} start -> ifwifi ifwifi->needupdate[label="是"] ifwifi->enterhall[label="否"] needupdate->startslientdl[label="是"] startslientdl->enterhall needupdate->enterhall[label="否"] enterhall -> enterroom enterroom -> resourceuptodate resourceuptodate -> warning[label="是"] resourceuptodate -> startplay[label="否"] warning -> startdl[label="確認下載"] warning -> enterhall[label="取消下載"] startdl -> enterhall[label="取消下載"] startdl -> startplay[label="下載完成"] }
和python互動
graphviz強大而便捷的關係圖/流程圖繪製方法,很容易讓我們聯想到機器學習中的
Decision Tree
的展示方式。幸運的是,scikit-learn提供了生成.dot
檔案的介面,具體操作如下:在python編輯環境下:
進入windows命令列介面,cd 切換到from sklearn.tree import export_graphviz # 匯入的是一個函式 # tree表示已經訓練好的模型,即已經呼叫過DecisionTreeClassifier例項的fit(X_train, y_train)方法 export_graphviz(tree, out_file='tree.dot', feature_names=['petal length', 'petal width'])
tree.dot
所在的路徑,執行dot -Tpng tree.dot -o tree.png