Matplotlib과 NetworkX를 사용하면 그래프의 각 노드에 컬러맵(colormap)을 적용해 시각화할 수 있습니다. 노드 색상을 값에 따라 다르게 표현하면 그래프 구조를 한눈에 파악하는 데 큰 도움이 됩니다. 아래에서 단계별로 살펴보겠습니다.
구현 단계
- 그림(figure) 크기를 설정하고 서브플롯 사이 및 주변의 여백(padding)을 조정합니다.
- nx.cycle_graph()를 사용하여 순환적으로 연결된 노드들의 사이클 그래프 C_n을 생성합니다.
- nx.circular_layout()으로 노드들을 원형 위에 배치합니다.
- nx.draw() 함수에 cmap 옵션을 지정하여 Matplotlib로 그래프를 그립니다.
- plt.show() 메서드로 결과 그림을 화면에 표시합니다.
예제 코드
import matplotlib.pyplot as plt import networkx as nx # 그림 크기 및 레이아웃 자동 조정 설정 plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True # 24개의 노드를 가진 사이클 그래프 생성 G = nx.cycle_graph(24) # 노드를 원형으로 배치 pos = nx.circular_layout(G) # node_color에 값 범위를 지정하고 copper 컬러맵 적용 nx.draw(G, pos, node_color=range(24), node_size=800, cmap='copper') plt.show()
실행 결과


코드 설명
node_color=range(24)는 각 노드에 0부터 23까지의 값을 순서대로 할당합니다. 이 값들은 cmap='copper'로 지정된 컬러맵을 거쳐 색상으로 변환되므로, 노드마다 서로 다른 색이 부여됩니다. 또한 node_size=800 옵션으로 노드의 크기를 조절할 수 있습니다. 이처럼 node_color에 숫자 리스트를 전달하고 원하는 컬러맵을 지정하기만 하면, 별도의 색상 계산 없이도 손쉽게 노드 컬러맵 그래프를 완성할 수 있습니다.