「Pythonで綺麗なグラフを作成したい」
「GraphvizをPythonから操作したい」
「Ubuntuでも綺麗なグラフを出力したい」
このような場合には、PyGraphvizがオススメです。
この記事では、UbuntuにPyGraphvizをインストールする方法を解説しています。
本記事の内容
- PyGraphvizとは?
- PyGraphvizのシステム要件
- PyGraphvizのインストール
- PyGraphvizの動作確認
それでは、上記に沿って解説していきます。
PyGraphvizとは?
PyGraphvizは、GraphvizのPython用Wrapperです。
C言語で開発されたGraphvizをPythonから利用するために必要なモノになります。
では、次のことが可能です。
- グラフの作成
- グラフの編集
- グラフの読み込み
- グラフの書き込み
- グラフの描画
これと同じことが、PyGraphvizでもできると考えてよいでしょう。
そして、PyGraphvizを使うと綺麗なグラフをPythonで処理できます。
どうしてもMatplotlibだけだと、次のようなダサいグラフになってしまいます。
それに対して、PyGraphvizを使えば綺麗なグラフを作成できます。
この場合は、綺麗というより見やすいですね。
以上、PyGraphvizについて説明しました。
次は、PyGraphvizのシステム要件を説明します。
PyGraphvizのシステム要件
現時点(2022年4月)でのPyGraphvizの最新バージョンは、1.9となります。
この最新バージョンは、2022年2月10日にリリースされています。
サポートOSに関しては、以下を含むクロスプラットフォーム対応です。
- Windows
- macOS
- Linux
OS自体に関しては、特に注意すべき点はありません。
しかし、PyGraphvizでは以下のシステム要件において注意が必要です。
- Python
- Graphviz
- C/C++ Compiler
それぞれを以下で説明します。
Python
サポート対象となるPythonのバージョンは、以下となっています。
- Python 3.8
- Python 3.9
- Python 3.10
凄いですね、古いバージョンの切り捨て方が。
以下は、Python公式開発サイクルです。
バージョン | リリース日 | サポート期限 |
3.6 | 2016年12月23日 | 2021年12月23日 |
3.7 | 2018年6月27日 | 2023年6月27日 |
3.8 | 2019年10月14日 | 2024年10月 |
3.9 | 2020年10月5日 | 2025年10月 |
3.10 | 2021年10月4日 | 2026年10月 |
公式サイクルによると、Python 3.7以降がサポート対象となるべきです。
しかし、PyGraphvizはすでにPython 3.7も切り捨てています。
これは、PyGraphvizを使う上では注意すべきですね。
Graphviz
Graphvizのバージョンも指定されています。
Graphviz 2.42以降が必要です。
UbuntuにおけるGraphvizのインストールについては、次の記事で解説しています。
Ubuntu 18.04では、Graphviz 2.42以降を簡単にインストールできないかもしれません。
その場合は、ソースコードをビルドしてインストールしましょう。
あと、Graphvizの開発用パッケージも必要となります。
開発用パッケージのインストールは、次のコマンドで行います。
sudo apt-get install -y graphviz-dev
C/C++ Compiler
この部分が、OS毎に大きく異なります。
ただ、Linuxだとそれほど複雑ではありません。
UbuntuへのC/C++ Compilerのインストールは、次の記事で解説しています。
まとめ
PyGraphvizのシステム要件は、複雑な部類に入ります。
でも、順を追って対応していけば大丈夫です。
以上、PyGraphvizのシステム要件を説明しました。
次は、PyGraphvizのインストールを説明します。
PyGraphvizのインストール
検証は、次のバージョンのPythonで行います。
$ python -V Python 3.10.2
まずは、現状のインストール済みパッケージを確認しておきます。
$ pip list Package Version ---------- ------- pip 22.0.4 setuptools 61.3.1 wheel 0.36.2
次にするべきことは、pipとsetuptoolsの更新です。
pipコマンドを使う場合、常に以下のコマンドを実行しておきましょう。
python -m pip install --upgrade pip setuptools
では、PyGraphvizのインストールです。
PyGraphvizのインストールは、以下のコマンドとなります。
pip install pygraphviz
PyGraphvizのインストールは、すぐに終わります。
終了したら、どんなパッケージがインストールされたのかを確認します。
$ pip list Package Version ---------- ------- pip 22.0.4 pygraphviz 1.9 setuptools 61.3.1 wheel 0.36.2
PyGraphvizには、依存パッケージがありません。
その点では、既存環境へPyGraphvizの導入は容易と言えます。
しかし、システム要件を整える点では容易ではないかもしれません。
以上、PyGraphvizのインストールを説明しました。
次は、PyGraphvizの動作確認を行います。
PyGraphvizの動作確認
以下は、PyGraphvizの動作確認用のコードです。
import pygraphviz as pgv A = pgv.AGraph() # add some edges A.add_edge(1, 2) A.add_edge(2, 3) A.add_edge(1, 4) A.add_edge(1, 5) # make a subgraph with rank='same' B = A.add_subgraph([4, 5, 6], name="s1", rank="same") B.graph_attr["rank"] = "same" A.draw("test.png", prog="neato")
上記コードを実行すると、上記で紹介したグラフを作成します。
綺麗なグラフの例として挙げたモノです。
同じグラフが作成できれば、PyGraphvizの動作確認は成功と言えます。
以上、PyGraphvizの動作確認を説明しました。