Thursday, December 20, 2018

PythonとGraphvizで双方向の矢印を描画する

PythonとGraphvizで双方向の矢印を描画するには、以下のサンプルコードのようにdirアトリビュートを使用します。

○サンプルコード
from graphviz import Digraph

dot = Digraph(format='png')
# フォント設定
dot.attr('node', fontname="MS Gothic")
# ノード作成
dot.node("項目1")
dot.node('項目2')
dot.node("項目3")
dot.node("項目4")
# エッジ作成
dot.edge("項目1", "項目2")
dot.edge("項目2", "項目3")
dot.edge("項目2", "項目4", dir="both")
dot.render("graphviz-test15")

○出力画像


〇graphvizのインストール
pipenv install graphvizやpip install graphvizなどでインストールします。


○関連情報
Graphvizまとめ

・コマンドから同様のことを実行する場合は「Graphvizで双方向の矢印を描画する」を参照してください。

・PythonとGraphvizに関する他の記事はこちらを参照してください。

・サンプルコードを実行する環境としてDockerコンテナを利用することもできます。コンテナの構築方法は「Dockerでpython3.7とgraphvizをインストールしたコンテナ(Alpine3.9ベース)を作成する」を参照してください。

PythonとGraphvizで矢印の大きさを指定する

PythonとGraphvizで矢印の大きさを指定するには、以下のようにarrowsizeアトリビュートを使用します。

○サンプルコード
from graphviz import Digraph

dot = Digraph(format='png')
# フォント設定
dot.attr('node', fontname="MS Gothic")
# ノード作成
dot.node("項目1")
dot.node('項目2')
dot.node("項目3")
dot.node("項目4")
# エッジ作成
dot.edge("項目1", "項目2")
dot.edge("項目2", "項目3")
dot.edge("項目2", "項目4", arrowsize="2")
dot.render("graphviz-test14")

○出力画像


〇graphvizのインストール
pipenv install graphvizやpip install graphvizなどでインストールします。


○関連情報
Graphvizまとめ

・コマンドから同様のことを実行する場合は「Graphvizで矢印の大きさを指定する」を参照してください。

・PythonとGraphvizに関する他の記事はこちらを参照してください。

・サンプルコードを実行する環境としてDockerコンテナを利用することもできます。コンテナの構築方法は「Dockerでpython3.7とgraphvizをインストールしたコンテナ(Alpine3.9ベース)を作成する」を参照してください。

Monday, December 17, 2018

PythonとGraphvizでノードの形を指定する

PythonとGraphvizでノードの形を指定するには、以下のコードのようにshapeアトリビュートを使用します。

○サンプルコード
from graphviz import Graph

dot = Graph(format='png')
# フォント設定
dot.attr('node', fontname="MS Gothic")
# ノード作成
dot.node("項目1")
dot.node("項目2", shape="folder")
dot.node("項目3", shape="box")
dot.node("項目4", shape="note")
# エッジ作成
dot.edge("項目1", "項目2")
dot.edge("項目2", "項目3")
dot.edge("項目2", "項目4")
dot.render("graphviz-test12")

○出力画像


〇graphvizのインストール
pipenv install graphvizやpip install graphvizなどでインストールします。


○関連情報
Graphvizまとめ

・コマンドから同様のことを実行する場合は「Graphvizでノードの形を指定する」を参照してください。

・PythonとGraphvizに関する他の記事はこちらを参照してください。

・サンプルコードを実行する環境としてDockerコンテナを利用することもできます。コンテナの構築方法は「Dockerでpython3.7とgraphvizをインストールしたコンテナ(Alpine3.9ベース)を作成する」を参照してください。

Sunday, December 16, 2018

PythonとGraphvizでグラフの方向を変える

PythonとGraphvizでグラフの方向を変えるには、以下のコードのようにrankdirアトリビュートを使用します。

○サンプルコード
from graphviz import Digraph

dot = Digraph(format='png')
dot.attr('graph', rankdir="LR")
# フォント設定
dot.attr('node', fontname="MS Gothic")
# ノード作成
dot.node("項目1")
dot.node('項目2')
dot.node("項目3")
dot.node("項目4")
# エッジ作成
dot.edge("項目1", "項目2")
dot.edge("項目2", "項目3")
dot.edge("項目2", "項目4")
dot.render("graphviz-test11")

○出力画像


〇graphvizのインストール
pipenv install graphvizやpip install graphvizなどでインストールします。


○関連情報
Graphvizまとめ

・PythonとGraphvizに関する他の記事はこちらを参照してください。

・サンプルコードを実行する環境としてDockerコンテナを利用することもできます。コンテナの構築方法は「Dockerでpython3.7とgraphvizをインストールしたコンテナ(Alpine3.9ベース)を作成する」を参照してください。

PythonとGraphvizで線の太さを指定する

PythonとGraphvizで線の太さを指定するには、以下のコードのようにpenwidthアトリビュートで指定します。

○サンプルコード
from graphviz import Digraph

dot = Digraph(format='png')
# フォント設定
dot.attr('node', fontname="MS Gothic")
# ノード作成
dot.node("項目1")
dot.node('項目2', penwidth="5")
dot.node("項目3")
dot.node("項目4")
# エッジ作成
dot.edge("項目1", "項目2")
dot.edge("項目2", "項目3")
dot.edge("項目2", "項目4")
dot.render("graphviz-test10")

○出力画像


〇graphvizのインストール
pipenv install graphvizやpip install graphvizなどでインストールします。


○関連情報
Graphvizまとめ

・コマンドから同様のことを実行する場合は「Graphvizで線の太さを指定する」を参照してください。

・PythonとGraphvizに関する他の記事はこちらを参照してください。

・サンプルコードを実行する環境としてDockerコンテナを利用することもできます。コンテナの構築方法は「Dockerでpython3.7とgraphvizをインストールしたコンテナ(Alpine3.9ベース)を作成する」を参照してください。