python, pyTorch

그래프 예쁘게 그리기! networkx layout 함수

zooyeonii 2021. 8. 11. 18:39

그래프는 함수그리는 것과는 다르게, 노드의 위치가 정해져있지 않다. 그래서 간혹 그래프를 시각화하면 라벨이 겹쳐있거나, 분석하기에 어려운 면이 있다. networkx 에 유용한 함수가 있어서 정리해보았다. 

def plot_graph(data, node_labels=None):
    fig, ax = plt.subplots()
    fig.set_tight_layout(False)
    nx_g = to_networkx(data=data).to_undirected()
    pos = nx.kamada_kawai_layout(nx_g)
    nx.draw(nx_g, pos, with_labels=True)
    plt.show()

set_tight_layout(False) 는 틀이 정해져있지 않음을 의미합니다. 
layout 종류 : 
(1) spring_layout(G)

(2) kamada_kawai_layout(G)
이름처럼 정말 귀엽네요ㅎㅎㅎ전 얘가 맘에 듭니다..

(3) shell_layout(G) , circular_layout(G)

(4) random_layout(G)

(5) spectral_layout(G)

(6) fruchterman_reingold_layout(G)

 

'python, pyTorch' 카테고리의 다른 글

Pycharm 과 Anaconda 연동하기  (0) 2021.09.02
그래프 예쁘게 그리기 2탄 : networkx.draw 함수  (0) 2021.08.11
pytorch : txt파일 전처리  (0) 2021.08.11
torch_geometric.utils  (0) 2021.08.11
GNN dataset (dynamic graph)  (0) 2021.08.11