학습할 데이터를 선별하고, 만들어진 모델을 검증하기 위해서는 데이터를 이해하는 것이 필수적이고 이를 위해서는 데이터를 시각화해서 보는 것이 매우 중요하다.
기본적인 그래프를 그리기 위해서는 matplotlib.pyplot
에서 plot(x,y)
를 사용하면 된다. x,y는 각각 X축과 Y축의 값이 된다.
from matplotlib import pyplot as plt
import numpy as np
x = np.arange(1,10)
y = x*5
plt.plot(x,y)
plt.show()
그래프를 그릴 때 선의 색을 지정하기 위해서는 plot에서 인자로 컬러를 주면 된다. 붉은색은 r, 파란색은 b로 정의한다.
plt.plot(x,y,'r')
plt.show()
선을 그릴떄, 다양한 선의 종류를 선택할 수 있다. 디폴트가 직선이고, 점으로 표현하는 마커나 점선 등을 선택할 수 있다. 선의 선택은 plot에서 세번째 인자에 선의 종류를 지정하면 되고, 색을 같이 지정하려면 다음 문자에 색을 지정하면 된다.
plt.plot(x,y,'or') # 동그란 마커, 붉은색
plt.show()
그래프를 그릴때 그래프의 타이틀과 X,Y축의 라벨을 표현하기 위해서는 타이틀을 plt.title("타이틀명") , X,Y축에 대한 라벨은 plt.xlabel('X축 라벨명'), plt.ylabel('Y축 라벨명')을 사용한다.
plt.plot(x,y)
plt.xlabel('x axis')
plt.ylabel('y axis')
plt.title('matplotlibe sample')
plt.show()
Tick은 그래프의 축에 간격을 구분하기 위해 표시하는 눈금이다.
matplotlib.pyplot 모듈의 xticks(),yticks(),tick_params()
함수를 이용해서 그래프에 눈금을 표시한다.
x = np.arange(0,2,0.2)
plt.plot(x, x, 'bo')
plt.plot(x, x**2, color='#e35f62', marker='*', linewidth=2)
plt.plot(x, x**3, color='forestgreen', marker='^', markersize=9)
plt.xticks([0, 1, 2])
plt.yticks(np.arange(1, 6))
plt.show()
xticks()
,yticks()
함수는 각각 X축, Y축에 눈금을 표시한다. 파이썬 리스트 또는 Numpy 어레이를 입력하면 눈금과 숫자 레이블이 표시된다.
x = np.arange(0, 2, 0.2)
plt.plot(x, x, 'bo')
plt.plot(x, x**2, color='#e35f62', marker='*', linewidth=2)
plt.plot(x, x**3, color='springgreen', marker='^', markersize=9)
plt.xticks(np.arange(0, 2, 0.2), labels=['Jan', '', 'Feb', '', 'Mar', '', 'May', '', 'June', '', 'July'])
plt.yticks(np.arange(0, 7), ('0', '1GB', '2GB', '3GB', '4GB', '5GB', '6GB'))
plt.show()
labels 파라미터를 사용하면 눈금 레이블을 문자열의 형태로 지정할 수 있다. 입력해준 눈금의 개수와 같은 개수의 레이블을 지정해준다.
subplot 여러개를 그리기 위한 격자를 생성한다.
예를 들어, 세로 3개, 가로 4개 사이즈의 격자를 만들고 싶다면 아래와 같이 코드를 작성한다.
import matplotlib.pyplot as plt
f, axes = plt.subplots(3,4)
plt.show()
plt.subplots() 함수 내에 y,x 방향으로 몇개의 격자를 만들 것인지를 지정하면 다양한 형태의 격자를 만들 수 있다.
f - figure 전체 컨트롤 변수
axes - 그래프 각각 조절 변수
# [0,1] 위치 막대 그래프
axes[0,1].bar(['x','y','z'],[15,13,18],color=['r','g','y'], alpha = 0.4)