メインコンテンツへスキップ

Graphvizのコマンド解説

·861 文字·2 分
目次

はじめに
#

GraphvizはDOTと呼ばれる言語で記述されたグラフ構造を、画像形式で出力可能なソフトウェアである。 PythonからGraphvizを利用するためのライブラリも開発されており、ニューラルネットワークや決定木の可視化などに用いられる。

本記事では、Graphvizをコマンドラインから使用する方法を解説する。

環境

  • Windows 10 64-bit
  • Graphviz 2.46.0 for Windows 10 (64-bit)

Graphvizの導入
#

Windowsの場合、Graphvizの公式サイトからインストーラを入手して、インストールする。 https://graphviz.org/download/

インストール中にパスを通すか聞かれるので、通しておく。以下の画面で"Add Graphviz to the system PATH for all users"または"current user"を選択する。

Graphvizのインストール画面
Graphvizのインストール画面

Graphvizのコマンド
#

Graphvizを実行する場合、dotというコマンドを入力する(graphvizではないことに注意)。 PowerShell, コマンドプロンプトのどちらでも実行可能である。以下では、PowerShellで実行した結果を示す。

グラフの作成
#

グラフを作成するコマンドを示す。

> dot -T<format> -o <output file> <dot file>

例を示す。 まず、カレントディレクトリに以下のtest.dotというファイルがあると仮定する。

digraph test {
  a -> b;
  b -> c;
}

PNG形式のグラフをtest.pngという名前で出力するには、以下を実行する。

> dot -Tpng -o test.png test.dot

-Tの後ろに形式を記述する(間に半角スペースはあってもなくても良い。また残念ながら、出力ファイルの拡張子から、形式を自動で判定してくれない)。 実行すると、カレントディレクトリに以下のPNGファイルが出力させる。

出力されたグラフ
Graphvizで出力されたグラフ

また、指定可能なフォーマットには、bmp, gif, jpgなどがある。詳細は以下のページを参照。 https://graphviz.org/doc/info/output.html

バージョンの表示(-V)
#

バージョンを表示するには-Vオプションを付ける。

> dot -V
dot - graphviz version 2.46.0 (20210118.1747)

ヘルプの表示(-?, -h)
#

ヘルプを表示するには-?オプションを付ける(-h, -helpも可)。

> dot -?
Usage: dot [-Vv?] [-(GNE)name=val] [-(KTlso)<val>] <dot files>
以下略
Helve
著者
Helve
関西在住、電機メーカ勤務のエンジニア。X(旧Twitter)で新着記事を配信中です

関連記事

PythonのsubprocessでWindowsコマンドを実行
·960 文字·2 分
Pythonの標準ライブラリsubprocessを使ってWindowsのコマンドを実行する方法を解説する。
移転後のブログでGoogle AdSenseに合格した記録
·1086 文字·3 分
ブログを移転し、2回目のGoogle AdSense申し込みで合格した記録を残す。旧ブログからのリダイレクトなし、ドメイン変更という条件で合格したため、似た条件の方の参考になれば幸いである。
Pyomoの変数をベクトル化する
·1409 文字·3 分
Pyomoで多変数の最適化を簡潔に記述するため、変数をベクトル化する方法をまとめた。
CasADiとBONMINで混合整数非線形計画問題を解く
·913 文字·2 分
Pythonで自動微分・非線形最適化ライブラリCasADiと最適化ソルバBONMINを使って、混合整数非線形計画問題を解く方法をまとめた。
CasADiとIPOPTで非線形計画問題を解く
··2122 文字·5 分
Pythonで自動微分・非線形最適化ライブラリCasADiと最適化ソルバIPOPTを使って、制約付き非線形計画問題を解く方法をまとめた。
Scikit-learnのPolynomialFeaturesでべき乗を求める
·1917 文字·4 分
PolynomialFeaturesクラスの引数とメソッドについて解説する。また、特徴量の数を1~3まで変化させ、オプションによって出力がどのように変化するか確認する。