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
  • Version: Python 3.9.2, networkx 2.8.6, Gephi 0.9.7