본문 바로가기
■ 칼퇴를 위한 파이썬 : 사례

파이썬으로 데이터 시각화하기: NetworkX 기초

by 포탈메이커 2023. 7. 15.

파이썬으로 데이터 시각화하기: NetworkX 기초

데이터 시각화는 데이터를 직관적으로 이해하기 쉽게 만들어주는 중요한 요소입니다. 특히 네트워크 데이터의 시각화는 복잡한 상관 관계를 쉽게 파악할 수 있도록 도와줍니다. Python의 NetworkX 라이브러리는 네트워크 데이터를 시각화하는 데 강력한 기능을 제공합니다. 이번 포스팅에서는 NetworkX의 기초 개념과 사용법을 알아보겠습니다.

1. NetworkX란 무엇인가요?

NetworkX는 Python에서 네트워크 분석에 사용되는 라이브러리입니다. 복잡한 네트워크를 생성, 조작 및 시각화할 수 있는 다양한 기능을 제공합니다. 그래프 이론에 기반한 NetworkX는 각 노드와 엣지로 이루어진 그래프를 생성하고 분석할 수 있습니다.

2. NetworkX의 기본 개념

2.1. 그래프 생성하기

우선 NetworkX를 사용하기 위해 라이브러리를 설치해야 합니다. 아래의 명령어를 사용하여 설치할 수 있습니다.

python pip install networkx

그리고 아래의 코드를 사용하여 네트워크 그래프를 생성할 수 있습니다.

```python import networkx as nx

빈 그래프 생성

G = nx.Graph()

노드 추가하기

G.addnode(1) G.addnode(2) G.add_node(3)

엣지 추가하기

G.addedge(1, 2) G.addedge(2, 3) ```

2.2. 그래프 시각화하기

NetworkX는 생성한 그래프를 직접 시각화할 수 있는 기능을 제공합니다. 아래의 코드를 사용하여 그래프를 시각화할 수 있습니다.

```python import networkx as nx import matplotlib.pyplot as plt

그래프 생성

G = nx.Graph() G.addnode(1) G.addnode(2) G.addnode(3) G.addedge(1, 2) G.add_edge(2, 3)

그래프 시각화

pos = nx.springlayout(G) # 그래프의 레이아웃 설정 nx.drawnetworkx(G, pos=pos) # 그래프 그리기 plt.show() # 그래프 출력 ```

3. NetworkX를 활용한 데이터 시각화 예제

실제 데이터를 사용하여 NetworkX를 활용한 데이터 시각화 예제를 살펴보겠습니다. 예를 들어 아래의 로그 데이터가 있다고 가정해봅시다.

User A accessed Page 1 User A accessed Page 2 User B accessed Page 2 User B accessed Page 3 User C accessed Page 1 User C accessed Page 3

로그 데이터를 기반으로 각 유저와 페이지 간의 연결 관계를 시각화해보겠습니다.

```python import networkx as nx import matplotlib.pyplot as plt

그래프 생성

G = nx.Graph() G.addnode("User A") G.addnode("User B") G.addnode("User C") G.addnode("Page 1") G.addnode("Page 2") G.addnode("Page 3") G.addedge("User A", "Page 1") G.addedge("User A", "Page 2") G.addedge("User B", "Page 2") G.addedge("User B", "Page 3") G.addedge("User C", "Page 1") G.addedge("User C", "Page 3")

그래프 시각화

pos = nx.springlayout(G) nx.drawnetworkx(G, pos=pos) plt.show() ```

위의 코드를 실행하면, 각 유저와 페이지 간의 연결 관계를 시각적으로 확인할 수 있습니다.

4. 마무리

이번 포스팅에서는 파이썬의 NetworkX 라이브러리를 활용하여 데이터 시각화하는 방법에 대해 알아보았습니다. NetworkX를 이용하면 복잡한 네트워크를 직관적으로 파악할 수 있고, 데이터의 상관 관계를 시각화하여 새로운 인사이트를 도출하는 데 도움이 됩니다. 추가적인 기능과 활용 예제에 대해서는 공식 문서를 참고해보시기 바랍니다.

이 글은 링크나 이미지를 사용하지 않고 작성되었습니다.

위의 내용은 파이썬으로 데이터 시각화하는 데 있어서 NetworkX의 기초적인 사용법을 알려주는 포스팅입니다. NetworkX를 익힌다면 더 복잡한 네트워크 데이터도 손쉽게 시각화할 수 있을 것입니다. 다음 포스팅에서는 NetworkX의 고급 기능에 대해 더 알아보도록 하겠습니다.