본문 바로가기
판다스/판다스 팁

[pandas] plot 함수로 subplot 그리는 방법

by 김판다t 2024. 2. 16.

판다스의 plot 함수로 subplot 그리는 방법

subplot은 그래프를 분할하여 여러 개의 작은 그래프를 하나의 그림에 배치하는 것을 의미합니다.

subplot의 예시

 

matplotlib 라이브러리도 subplot을 지원하지만, 판다스의 plot 함수만으로도 subplot을 활용해 데이터를 분할하여 간편하게 시각화할 수 있습니다.

 

데이터 준비 및 기본 그래프 생성

 

먼저 예시 데이터를 생성하여 데이터 프레임으로 불러오겠습니다.

import pandas as pd
data1 = {'col1': {'A': 1, 'B': 4},
         'col2': {'A': 2, 'B': 5},
         'col3': {'A': 3, 'B': 6},
         'col4': {'A': 5, 'B': 8}}
df = pd.DataFrame(data1)

 

 

이제 plot 함수를 이용해 df를 막대그래프로 시각화해 보겠습니다.

df.plot(kind='bar')

 

위 코드는 하나의 그래프 안에 df의 각 열을 구분하여 표시해 줍니다.

 

매개변수 subplot으로 그래프 분할

 

plot 함수의 매개변수 subplot을 사용하면 그래프를 개별적으로 분할하여 각 열을 별도의 작은 그래프로 나타낼 수 있습니다.

df.plot(kind='bar', subplots=True)
 

위 코드로 각 열이 분할된 subplot이 생성됩니다. 그러나 기본 layout은 다소 보기 어려울 수 있어, layout 매개변수를 활용해 보기 좋은 배열로 배치할 수 있습니다.

 

매개변수 layout으로 배치 조정

 

layout 매개변수에 원하는 행과 열의 배열을 입력하여 배치를 조정할 수 있습니다. 예를 들어, 2행 × 2열의 배열로 배치하고 싶다면, 매개변수 layout에 튜플 (2, 2)를 전달합니다.

df.plot(kind='bar', subplots=True, layout=(2, 2))
 
그래프의 색상 지정

 

마지막으로 그래프의 색상도 사용자 지정이 가능합니다. 매개변수 colormap으로 미리 정의된 색상 팔레트를 지정하거나, 매개변수 color에 개별 색상의 리스트를 전달할 수 있습니다.

# 색상 팔레트 입력
df.plot(kind='bar', subplots=True, layout=(2, 2), colormap='RdBu') 
# 색상의 리스트 입력 
color = ['r', 'grey', 'grey', 'grey']
df.plot(kind='bar', subplots=True, layout=(2, 2), color=color)

 


 

유튜브에서 판다스 강의 중입니다.

https://www.youtube.com/@KimPandas