読者です 読者をやめる 読者になる 読者になる

tak0kadaの何でもノート

発声練習、生存確認用。

医学関連は 医学ノート

pydotplusでdoxygenで生成したdotファイルを操作する

dot言語

dot言語はグラフ構造をテキストファイルで表したもの。pydotというライブラリが有名だそうだが、手元で動かなかったためpydotplus(pydotplus 2.0.2 : Python Package Index)というライブラリをインストールした。dotファイルを読み込んだあとは基本的にgetter/setterで値にアクセスする。pythonでgetter/setter書く例は少ないので実装を確認したところ、メンバ変数は実際には辞書で登録されていた。

import pydotplus
with open("Applic_8h__dep__incl.dot") as f:
    graph_data = f.read()

# 読み込み
g = pydotplus.parser.parse_dot_data(graph_data)

# ノード
g.get_nodes()
node0 = g.get_nodes()[0]
node0.get_name()
node0.to_string()

for i in g.get_nodes():
    print(i.get_label())

# エッジ
g.get_edges()
edge0 = g.get_edges()[0]
edge0.get_color()
edge0.get_destination()
edge0.get_source()