Windows で Graphviz をインストールして開始する方法のチュートリアル

Windows で Graphviz をインストールして開始する方法のチュートリアル

ダウンロードとインストール環境変数の設定インストール環境変数の設定確認基本的な描画の紹介グラフディグラフ複雑な例Python の操作

良いツールを発見することは、新しい世界を発見するようなものです。時々、論文や各種専門書に掲載されている鮮やかなイラストがどのように描かれているのか興味が湧きます。例外なく、それらは描画ツールを巧みに使用した結果です。

ダウンロードしてインストールし、環境変数を設定する

インストール

Windows版ダウンロードアドレス: http://www.graphviz.org/Download_windows.php

這里寫圖片描述

msiファイルをダブルクリックし、次へをクリックし続けます (インストール パスを覚えておいてください。パス情報は後で環境変数を構成するときに使用されます)。インストールが完了すると、Windows のスタート メニューにショートカットが作成されます。デフォルトのショートカットはデスクトップには配置されません。

這里寫圖片描述

環境変数の設定

graphviz インストール ディレクトリの下の bin フォルダーを Path 環境変数に追加します。

這里寫圖片描述

這里寫圖片描述

確認する

Windows コマンドライン インターフェイスに入り、 dot -versionと入力して Enter キーを押します。graphviz の関連バージョン情報が表示されれば、インストールと構成は成功です。

這里寫圖片描述

基本的な描画チュートリアル

Windows で graphviz エディタ gvedit を開き、次のドット スクリプト言語を記述して、gv 形式のテキスト ファイルとして保存します。次に、コマンド ライン インターフェイスに入り、ドット コマンドを使用して gv ファイルを png グラフィック ファイルに変換します。

ドット D:\test\1.gv -Tpng -o image.png

グラフ

グラフの使用法--関係性の説明

グラフpic1 { 
 a -- b
 a -- b
 b -- [色=青]
} 

這里寫圖片描述

有字

使用->関係を説明する

有向グラフ pic2 { 
 a -> b
 a -> b
 b -> a [スタイル=塗りつぶし 色=青]
} 

這里寫圖片描述

複雑な例

有向グラフ スタートゲーム {
  label="ゲームリソースの更新プロセス"
  ランクディレクトリ="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]
  プレイ開始[label="通常ゲーム" shape=circle fillcolor=blue]
  警告[label="プレイヤーにアップデートするかどうかを通知する" shape=diamond]
  startdl[label="ダウンロードインターフェイスに入る" shape=box]
  //{rank=same; needupdate, enterhall}

  {shape=diamond; ifwifi、needupdate}

  開始 -> ifwifi
  ifwifi->needupdate[label="yes"]
  ifwifi->enterhall[label="no"]
  needupdate->startslientdl[label="yes"]
  startslientdl->enterhall
  更新が必要->enterhall[label="no"]

  エンターホール -> エンタールーム
  部屋に入る->リソースの最新情報
  resourceuptodate -> 警告[label="yes"]
  リソース更新 -> 再生開始[ラベル="no"]
  警告 -> startdl[label="ダウンロードの確認"]
  警告 -> 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=['花びらの長さ', '花びらの幅'])

Windowsのコマンドラインインターフェイスに入り、 tree.dotがあるパスに切り替えて、実行します。

ドット -Tpng ツリー.ドット -o ツリー.png 

這里寫圖片描述

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Python は graphviz を呼び出して構造化グラフ ネットワークの例を描画します
  • export_graphvizを使用してツリーを視覚化する問題を解決する
  • Pythonで決定木を実装し、Graphvizを使用して視覚化する例
  • Python ベースの Youdao 翻訳プロセスの図
  • VSCode の使い方と VSCode での Python プログラムのデバッグ方法に関するグラフィカル チュートリアル
  • PythonはGraphvizを使用してフローチャートを描画します

<<:  インスタンス化されたオブジェクトパラメータによるMySQLクエリ例の説明

>>:  jsプロキシの原理の詳細な説明

推薦する

vue-admin-template 動的ルーティング実装例

ログインを提供し、ユーザー情報データインターフェースを取得するapi/user.js内 '@...

Vite2+Vue3を使用してMarkdownドキュメントをレンダリングする練習

目次カスタム Vite プラグインvite-plugin-markdownの使用Front Matt...

Vue-CLI3.xはプロジェクトをサーバーに自動的にデプロイします

目次序文1. scp2をインストールする2. テスト/本番環境サーバーのSSHリモートログインアカウ...

MySQL クエリの最適化: クエリが遅い原因と解決策

開発に携わっている友人、特に MySQL に関係のある友人は、非常に遅い MySQL クエリに遭遇す...

nginx + php の「入力ファイルが指定されていません」の解決策

本日、ローカル開発環境で突然「入力ファイルが指定されていません」というエラーが発生してしまいました。...

IE で ClearType をオンにした後の透明フォントの問題の解決方法

IE で ClearType をオンにした後に発生する透明フォントの問題を解決するには、透明要素に背...

Linux 上でプロジェクトをリリースするために Tomcat を展開するプロセスにおけるさまざまな問題と解決策

プロジェクトをプロジェクトサイトのテスト環境にデプロイするJDK1.8トムキャット8.5 Maven...

CentOS7 で MySQL のスケジュールされた自動バックアップを実装する方法

実稼働環境で起こる最も嬉しいことは、シナリオによっては、更新または削除時にパラメータを無視せざるを得...

Vue のスロットスコープの詳細な理解(初心者向け)

Baidu には slot-scope に関する記事が既にたくさんありますが、以前よく学習しておら...

忘れられたMySQLパスワードとログインエラーの問題について簡単に説明します

MySQL ログイン パスワードを忘れた場合、解決方法は実はとても簡単です。MySQL メイン構成フ...

バックアップと削除のためにリアルタイムでステートメントを検出するMySQLトリガーの考え方の詳細な説明

問題の説明: ユーザーは、テーブルに「違反」という単語を含むフィールドが時々表示されることを要求して...

Vue.js ディレクティブのカスタム命令の詳細な説明

デモコマンドをカスタマイズするVue カスタム ディレクティブの構文は次のとおりです。 Vue.di...

React仮想リストの実装

目次1. 背景2. バーチャルリストとは何か3. 関連概念の紹介4. 仮想リストの実装4.1 ドライ...

Alibaba Cloud Centos 7.5 に MySQL をインストールするチュートリアル

CentOS 7 の yum ソースには、MySQL を正常にインストールするための mysql-s...