matplotlib 라이브러리
Matplotlib 은 파이썬의 대표적인 과학 계산용 그래프 라이브러리입니다. 선 그래프, 히스토그램, 산점도 등을 지원하며 고품질 그래프를 그려줍니다.
데이터 과학에서는 결과를 계속 시각화하여 중요한 통찰을 할 수 있으며, 설명을 용이하게 합니다.
소스코드로 알아보기
pyplot 기초
pyplot은 매트랩과 비슷한 형태로 그래프를 그리는 기능을 제공합니다. 보통 pyplot만 알아도 대부분 도식화 가능합니다.
import
보통 pyplot을 제일 많이 사용하며 보통 다음과 같이 plt로 aliasing 합니다.
import matplotlib.pyplot as plt
%matplotlib inline # 이 명령어를 이용하면 주피터 노트북에서 이미지 그리기가 자동으로 이루어집니다.
plot / show
plot
은 값을 서로 연결해서 라인 형태를 그리는 함수입니다.
show
는 그래프를 출력합니다.
plt.plot([1,2,3,4])
plt.show()
이 그래프의 특징은 x축의 값이 자동으로 0.0, 1.0, 2.0, 3.0으로 되는 것입니다.
위 코드가 잘 안된다면 같은 코드를 다시 해보면 됩니다.
x축과 y축을 따로 받기 위해서는 다음과 같이하면 됩니다.
x = range(0,100)
y = [v*v for v in x]
plt.plot(x,y)
plt.show()
그래프의 색과 형태도 변경할 수 있습니다. plot에서 매개변수로 문자열을 넣어 변경할 수 있습니다.
plt.plot(x,y,'ro') # r은 빨강, o는 원
plt.plot(x,y,'b-') # b는 파랑, -는 직선
색은 다음과 같습니다.
b blue(파란색) g green(녹색) r red(빨간색) c cyan(청록색) m magenta(마젠타색) y yellow(노란색) k black(검은색) w white(흰색)
마커는 다음과 같습니다.
o circle(원) v triangle_down(역 삼각형) ^ triangle_up(삼각형) s square(네모) + plus(플러스) . point(점)
figure / subplots
이제 한 화면에 여러개 그래프를 그리는 방법을 알아봅시다.
figure
함수를 통해 Figure 객체를 먼저 만든 후, add_subplot
메서드를 통해 그리려는 그래프 개수만큼 subplot을 만들면 됩니다.
fig = plt.figure() # 객체 생성
ax1 = fig.add_subplot(2,1,1) # 2*1에서 1번째
ax2 = fig.add_subplot(2,1,2) # 2*2에서 2번째
plt.show()
label / legend
label
은 x, y축에 라벨을 설정합니다.
각 축에 라벨링은 set_xlabel
와 set_ylabel
로 할 수 있습니다.
plot 함수 내에서 매개변수로도 설정가능합니다.
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0.0, 2 * np.pi, 0.1)
sin_y = np.sin(x)
cos_y = np.cos(x)
fig = plt.figure()
ax1 = fig.add_subplot(211)
ax2 = fig.add_subplot(212)
ax1.plot(x, sin_y, 'b--')
ax2.plot(x, cos_y, 'r--')
ax1.set_xlabel('x')
ax1.set_ylabel('sin(x)')
ax2.set_xlabel('x')
ax2.set_ylabel('cos(x)')
plt.show()
legend
는 범례를 추가하는 함수입니다.
plt.legend()