matplotlib_tutorial

Matplotlib

Matplotlib는 파이썬 자료를 시각화(visulaization) 하는 라이브러리입니다. MATLAB과 유사한 인터페이스로 복잡하지만 강력한 기능을 제공하죠. 아마도 파이썬 라이브러리 중에 가장 유용하고 따라서 가장 유명합니다. Matplotlib는 막대 그래프나 선 그래프 이외에도 다양한 시각화 기능을 제공합니다. 자세한건 Gallery를 참고 하세요.

튜토리얼 가이드

기본적인 정보

사용하기 앞서, 다음 그림을 통해 구조를 알아 보겠습니다. figure

Matplotlib가 그리는 그림은 Figure, Axes, Axis으로 이어지는 구조를 가지고 있습니다. 따라서 아래와 같은 순서로 그림을 그리게 됩니다.

  1. Figure를 먼저 생성합니다.
  2. Figure에 원하는 갯수의 Axes를 생성합니다.
  3. 각각의 Axes에 그래프를 그리고 label과 title을 지정해 줍니다.

예를 들어보겠습니다.

In [13]:
%matplotlib inline
import matplotlib.pyplot as plt

# 그래프를 그릴 X, Y 값을 입력합니다.
x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
y = [2, 3, 4, 6, 7, 9, 10, 16, 17, 20]

fig = plt.figure()  # Figure를 생성합니다.
axis1 = fig.add_subplot(2, 1, 1)
# (2, 1, 1)은 2x1(행x열)의 subplot을 생성한다는 의미이고
# 세번째 인자 1은 생성된 두 개 중 첫 번째를 의미합니다.
axis1.plot(x, y)  # 기본 그래프는 선그래프 입니다.

axis2 = fig.add_subplot(2, 1, 2)
axis2.bar(x, y)  # 바 그래프
Out[13]:
<Container object of 10 artists>
No description has been provided for this image

실험 데이터로 그려보기

실제 실험에서 얻은 데이터를 가지고 에러바가 있는 선 그래프를 그려보도록 하겠습니다. 이미 간단하게 평균값과 표준편차를 구해 놓은 데이터를 사용했습니다.

In [7]:
# Data to draw
x = [0.083, 1, 2, 4, 8]
y = [523.11, 62.32, 37.93, 24.85, 13.81]
std = [101.62, 22.61, 13.00, 4.64, 3.56]

fig = plt.figure()  # figure setting
ax = fig.add_subplot(1, 1, 1)  # Get the figure and the axes
ax.errorbar(x, y, std, fmt="ro-", capsize=2)  # 에러바가 있는 선 그래프를 그려줍니다.

# Label과 Title을 정해줍니다.
ax.set(title="Pharmacokinetics ", xlabel="Hours", ylabel="Protein conc.")
# Y축을 log로 바꾸어 줍니다.
ax.set_yscale("log")
No description has been provided for this image

마치며

이렇게 matplotlib을 사용하면 간단하게 실험 결과를 시각화 할 수 있습니다. 무엇보다도 공짜로 말이죠.