[Matplotlib] 단순한 그래프 그리기

2024. 1. 22. 14:48Python/Matplotlib

단순한 그래프 그리기

 

Matplotlib이 무엇인지 알아보고, 이걸 사용해 그래프를 그리는 법에 대해 정리해보겠습니다.

공식홈페이지의 내용을 참고했습니다.

"Matplotlib은 Python을 사용하여 정적, 애니메이션 및 상호 작용적 시각화를 만들기 위한 포괄적인 라이브러리입니다. 쉬운 일을 쉽고, 어려운 일을 가능하게 만듭니다." 

소개하고 있는 주요 기능은 다음과 같습니다.

  • 학술지나 전문 출판물에 실을 수 있을 정도의 높은 품질로 데이터를 시각화
  • 확대, 화면 이동, 업데이트가 가능한 상호 작용적인 그림
  • 스타일과 레이아웃 커스터마이징
  • 다양한 파일 형식으로 내보내기
  • JupyterLab 및 그래픽 사용자 인터페이스에 내장
  • Matplotlib을 기반으로 한 다양한 타사 패키지(기능 확장)를 사용

 


 

그럼 이제 사용을 위해 필요한 라이브러리를 불러와보겠습니다. (import)

# import matplotlib as mpl

import matplotlib.pyplot as plt
import numpy as np

 

Matplotlib은 Figure에 데이터를 그래프로 그립니다.

한 개 이상의 축(Axes)을 포함하는 Figure는 x-y 좌표(3D 플롯에서는 x-y-z 등)로 점을 지정할 수 있는 영역입니다.

 

한 개의 축을 가진 Figure를 만드는 가장 간단한 방법은 pyplot.subplots입니다.

그런 다음에 Axes.plot 사용해서 Axes에 데이터를 그려줍니다.

그럼 예제를 살펴보겠습니다.

import matplotlib.pyplot as plt

fig, ax = plt.subplots()  # Create a figure containing a single axes.
ax.plot([1, 2, 3, 4], [1, 4, 2, 3])  # Plot some data on the axes.

 

위 예제 출력 결과

plt.show()를 호출해 그래프를 화면에 출력합니다.

 

앞서 사용된 plot 함수의 사용법 및 사용 예시는 다음과 같습니다.

plot([x], y, [fmt], *, data=None, **kwargs)
plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs)
plot(x, y)        # plot x and y using default line style and color
plot(x, y, 'bo')  # plot x and y using blue circle markers
plot(y)           # plot y using x as index array 0..N-1
plot(y, 'r+')     # 위와 동일, but with red plusses

[Parameters]

x, y: 배열형(리스트, 튜플 등) 또는 스칼라

데이터 포인트의 가로/세로 좌표로서, x 값은 선택 사항이며 기본값은 range(len(y))입니다.

보통 1차원 배열이지만, 2차원이거나 스칼라일 수도 있습니다.

 

fmt: 문자열, (선택사항)

그래프의 형식을 나타내는 문자열로, 다음과 같이 구성합니다.

fmt = '[marker][line][color]' 

 

data: 인덱싱 가능한 객체, (선택사항)

라벨링 된 데이터 객체. x와 y에 표시할 레이블의 이름을 전달합니다.

이외에도 필요에 따라 기타 매개변수를 이용해 pyplot의 다른 기능들도 사용할 수 있습니다.

 

다음에는 스타일 지정 옵션과 라벨링에 대해 알아보겠습니다.