Monday, December 24, 2018

PythonとGraphvizでエッジがランキングに使用されないように指定する

PythonとGraphvizでエッジがランキングに使用されないように指定するには、以下のサンプルコードのようにconstraintアトリビュートを使用します。

○サンプルコード
# coding: utf-8 
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", constraint="false")
dot.edge("項目4", "項目5")
dot.edge("項目5", "項目6")
dot.edge("項目6", "項目7", constraint="false")
dot.render("graphviz-test17")

○出力画像


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


○関連情報
Graphvizまとめ

・コマンドから同様のことを実行する場合は「Graphvizでエッジがランキングに使用されないように指定する」を参照してください。

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

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

No comments: