Friday, February 08, 2019

PythonとGraphvizのneatoでノードの位置を調節する

PythonとGraphvizのneatoでノードの位置を調節するには、以下のようにposアトリビュートを使用します。

〇サンプルコード
# coding: utf-8 
from graphviz import Graph

gv = Graph(engine='neato', format='png')
# フォント設定
gv.attr('node', fontname="MS Gothic")
# ノード作成
gv.node("項目1", pos="0,0!")
gv.node("項目2", pos="3,0!")
gv.node("項目3")
gv.node("項目4", pos="0,1!")
# エッジ作成
gv.edge("項目1", "項目2")
gv.edge("項目2", "項目3")
gv.edge("項目3", "項目4")
gv.edge("項目4", "項目1")
gv.render("graphviz-test34")

○出力画像


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


○関連情報
Graphvizまとめ

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

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

No comments: