logo

NetworkXでのGEXFファイルの読み書き 📂グラフ理論

NetworkXでのGEXFファイルの読み書き

説明1 2

GEXFはGraph Exchange XML Formatの略で、グラフ構造を説明するための言語だ。Gephiプロジェクトと一緒に始まったという説明を見ると、Gephiで扱いやすい設計になっているようだ。

コード

書き込み

NetworkXを使って、次のようなグラフを作ろう。

import networkx as nx
from itertools import combinations

>>> G = nx.Graph()
>>> IVE = ["가을", "안유진", "레이", "장원영", "리즈", "이서"]
>>> LESSERAFIM = ["사쿠라", "김채원", "허윤진", "카즈하", "홍은채"]
>>> IZONE = ["사쿠라", "김채원", "안유진", "장원영"]
>>>
>>> G.add_nodes_from(IVE, group="IVE")
>>> G.add_nodes_from(LESSERAFIM, group="LESSERAFIM")
>>>
>>> G.add_edges_from(list(combinations(IVE, 2)))
>>> G.add_edges_from(list(combinations(LESSERAFIM, 2)))
>>> G.add_edges_from(list(combinations(IZONE, 2)))

write_gexf()を使って、NetworkXのグラフをgexfファイルに保存できる。

>>> nx.write_gexf(G,'IZONE_network.gexf')

Gephiで開くと、視覚化はこんな感じになる。

izone_network.png

読み込み

read_gexf(path)でgexfファイルを読み込むことができる。

>>> G = nx.read_gexf("IZONE_network.gexf")
>>> G
<networkx.classes.graph.Graph object at 0x0000027F09DDDB20>

環境

  • OS: Windows11
  • バージョン: Python 3.9.2, networkx 2.8.6, Gephi 0.9.7