1. 程式人生 > >(轉)windows下Graphviz安裝及入門教程

(轉)windows下Graphviz安裝及入門教程

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編輯環境下:

    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'])
    進入windows命令列介面,cd 切換到tree.dot所在的路徑,執行
    dot -Tpng tree.dot -o tree.png


    這裡寫圖片描述