Recent Posts
Recent Comments
Archives
반응형
250x250
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Today
Yesterday

Total
05-03 01:47
관리 메뉴

Hey Tech

[Python] subplot을 활용한 여러 개의 그래프 동시 출력하기 본문

AI & 빅데이터/데이터 분석 with Python

[Python] subplot을 활용한 여러 개의 그래프 동시 출력하기

Tony Park 2022. 9. 18. 09:06
728x90
반응형

👨‍💻 들어가며

본 포스팅에서는 아래의 그림처럼, 파이썬 subplot을 활용하여 2개 이상의 그래프를 하나의 figure에 출력하는 방법을 소개합니다.

여러 그래프 동시 출력

Step 1.  패키지 import

데이터 시각화를 위한 matplotlib 패키지를 설치하고 import 합니다.

import matplotlib.pyplot as plt

🎯 패키지 설치방법

더보기

pip install matplotlib

Step 2.  데이터셋 준비

저는 월별 데이터 건수를 저장한 series 타입의 데이터를 활용할 계획입니다.

1) 첫 번째 데이터셋

첫 번째 데이터셋 예제

2) 두  번째 데이터셋

두 번째 데이터셋 예제

Step 3.  x축, y축 데이터 분리

x축과 y축에 각각 시각화할 데이터를 각각 나눕니다.

x1 = dataset_pos_m.index
y1 = dataset_pos_m

x2 = dataset_neg_m.index
y2 = dataset_neg_m

Step 4.  데이터 시각화

1) subplot 설명

matplotlib.pyplot 내 subplot 모듈을 사용하면 여러 개의 그래프를 동시에 시각화할 수 있습니다.

구문은 아래와 같습니다. 총 행(row)의 개수와 열(column) 개수를 각각 입력하고, 시각화할 그래프마다 그래프 번호를 입력하면 됩니다.

 

plt.subplot(총 행 개수, 총 열 개수, 그래프 번호)

 

더욱 직관적으로는, 아래의 그림을 참고해 주세요. 2행 3열의 격자 모양 figure에서 출력할 그래프 위치를 설정하면 됩니다.

subplot 출력 예시

2)  데이터 시각화 예제 코드

다음은 2행 1열의 격자 figure에서 행마다 그래프 하나씩을 출력하는 코드입니다.

plt.figure(figsize = (60, 24)) # 전체 figure 크기

#================= 1번째 데이터 시각화 =================#
plt.subplot(2, 1, 1)
# 선 그래프 시각화 옵션
## color: 선 색깔, linewidth: 선 굵기, marker 선택
plt.plot(y1, 'o-', color = 'blue', linewidth = 3)
# 값 출력
for i, v in enumerate(x1):
    plt.text(v, y1[i], y1[i],
             fontsize = 25, # 텍스트 크기
             color = 'blue', # 텍스트 색깔
             horizontalalignment ='center', # 수평정렬 옵션
             verticalalignment = 'bottom')  # 수직정렬 옵션
plt.xticks(x1, fontsize = 18, rotation = 15) # x축 눈금
plt.yticks(fontsize = 30) # y축 눈금
plt.xlabel('DATE', fontsize = 30) # x축 이름
plt.ylabel('CNT', fontsize = 30)  # y축 이름
plt.title('Positive Review Trend', fontsize = 50) # 그래프 제목
#==================================================#

#================= 2번째 데이터 시각화 =================#
plt.subplot(2, 1, 2)
plt.plot(y2, '.-', color = 'orange', linewidth = 3)
for i, v in enumerate(x2):
    plt.text(v, y2[i], y2[i],
             fontsize = 25, 
             color = 'blue',
             horizontalalignment ='center',
             verticalalignment = 'bottom')
plt.xticks(x2, fontsize = 18, rotation = 15)
plt.yticks(fontsize = 30)
plt.xlabel('DATE', fontsize = 30)
plt.ylabel('CNT', fontsize = 30)
plt.title('Negative Review Trend', fontsize = 50)
#==================================================#

plt.tight_layout() # 그래프 간 간격 조절
plt.show()

시각화 결과

subplot 기반 그래프 동시 출력 결과


오늘은 파이썬 subplot을 활용하여 여러 개의 그래프를 동시에 시각화하는 방법을 소개해 봤습니다.

포스팅 내용에 오류가 있다면 아래에 댓글 남겨주시길 바랍니다.

그럼 오늘도 즐거운 하루 보내시길 바랍니다 :)

고맙습니다😊

728x90
반응형
Comments