데이터 분석에 필수적인 과정 중 하나가 현재 가지고 있는 데이터 셋을 시각화 하는 작업, 그리고 특정 모델들을 사용하여 학습하거나 예측을 할 때에도 시각화는 많이 사용된다.

그 중에서도 여러개의 그래프를 동시에 나타내어 시각적으로 비교를 해야하는 경우가 빈번하게 존재한다.

 

 

그 중에서도 위의 이미지처럼 plt.subplot()을 사용하여 그래프를 사용하는 경우가 많다.

 

 

 

plt.subplots(m , n)

 

여러 책이나 자료들에서 아래와 비슷한 코드들을 많이 볼 수 있다.

import pandas as pd 
import numpy as np 
import matplotlib.pyplot as plt

%matplotlib inline 

fig, axes = plt.subplots(2)

여기에서 fig는 전체 그래프를 저장하고 있는 변수, axes는 그 안의 subplot들을 저장하고 있는 변수라고 보면 된다.

 

axes를 확인해보면

이것처럼 여러가지 plot들을 리스트의 형태로 저장하고 있는 것을 확인할 수 있다. 여기에서 각 subplot에 plot을 그리기 위해서는 인덱스로 접근해서 그릴 수 있다.

 

 

import pandas as pd 
import numpy as np 
import matplotlib.pyplot as plt

%matplotlib inline 

fig, axes = plt.subplots(2) 

axes[0].hist(np.random.randn(100), bins = 20)
axes[1].scatter(np.arange(30), np.arange(30) + 3 * np.random.rand(30))

이처럼 axes 변수에 인덱스를 통해서 각 위치에 해당하는 그래프를 그릴 수 있다.

 

 

위의 그림처럼 상하가 아닌 좌우로 할 경우에는 plt.subplots(1, 2)로 변경하면 된다.

import pandas as pd 
import numpy as np 
import matplotlib.pyplot as plt

%matplotlib inline 

fig, axes = plt.subplots(1, 2) 

axes[0].set_title("Histogram")
axes[0].hist(np.random.randn(100), bins = 20)


axes[1].set_title("Scatter Plot")
axes[1].scatter(np.arange(30), np.arange(30) + 3 * np.random.rand(30))

각각의 Plot을 그릴 때에는 마치 하나의 그래프를 그리는 것 처럼 여러 함수들을 통해서 설정을 해줄 수 있다. 이때, 해당 설정을 할 그래프에 해당하는 인덱스를 통해서 구현할 수 있다.

 

 

reference : https://nittaku.tistory.com/117

728x90
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 라이프코리아트위터 공유하기
  • shared
  • 카카오스토리 공유하기