Windows下Graphviz安裝和入門教程

發現好的工具,如同發現新大陸。有時,我們會好奇,論文中、各種專業的書中那麼形象的插圖是如何做出來的,無一例外不是對繪圖工具的熟練使用。

 

下載安裝、配置環境變量

intall

windows版本下載地址:http://www.graphviz.org/Download_windows.php

這裏寫圖片描述

 

雙擊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]
} 
  • 1
  • 2
  • 3
  • 4
  • 5

 


這裏寫圖片描述

 

digraph

使用->描述關係

digraph pic2 { 
  a -> b
  a -> b
  b -> a [style=filled color=blue]
} 
  • 1
  • 2
  • 3
  • 4
  • 5

 


這裏寫圖片描述

 

一個複雜的例子

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="下載完成"]
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34

 


這裏寫圖片描述

 

和python交互

graphviz強大而便捷的關係圖/流程圖繪製方法,很容易讓我們聯想到機器學習中的Decision Tree的展示方式。幸運的是,scikit-learn提供了生成.dot文件的接口,具體操作如下:

python編輯環境下:

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'])
  • 1
  • 2
  • 3
  • 4

進入windows命令行界面,cd 切換到tree.dot所在的路徑,執行

dot -Tpng tree.dot -o tree.png
  • 1

 


這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章