Data Science - 정적 시각화 (Matplotlib)

cosmosJ·2024년 2월 18일

데이터 분석

목록 보기
22/26
post-thumbnail

Matplotlib

파이썬의 대표적인 데이터 시각화 라이브러리로, 2D 형태의 그래프와 이미지를 그릴 때 많이 사용

  • 주로 pyplot 모듈을 많이 사용 (별칭plt로 많이 사용)
    import mayplotlib.pyplot as plt

Matplotlib의 특징

matplotlib의 특징은 다음과 같다.

  • 유연한 인터페이스

    • ex.

      	```python
      	plt.plot(x, y1)
      	plt.plot(x, y2)
      	```

      위처럼, 다른 figure를 설정하지 않고, 여러 옵션 설정 없이 하나의 커멘드로 각각의 라인을 표기할 수 있는 유연성이 있다.

matplotlib 그래프 그리기

  1. plt.figure() : 도화지 생성 (그래프를 담을 공간)
  2. plt.plot() : 데이터 시각화
    • 그래프 유형(plot, hist, pie 등)과 변수를 주어 설정 가능
  3. plt.show() : 출력

matplotlib 그래프 구성 요소

pyplot을 이용하면, 쉽게 figure, axes, axis 조작 가능

import matplotlib.pyplot as plt

plt.figure()
plt.plot([0,1,2,3,4,5], [0,1,2,3,4,5]) # x 데이터, y 데이터

plt.title("제목")
plt.ylabel("y 축")
plt.xlabel('x 축')
plt.show()

➡️ 각각의 커멘드가 그래프의 어떤 요소에 영향을 주는지 아는 것이 시각화를 효과적으로 하는데 중요하다.

여러 개의 그래프 그리기

여러 개의 그래프를 하나의 figure에 담으면, 더 많은 정보를 효과적으로 전달할 수 있다.

  • Matplotlibpyplot 모듈에서 subplot, subplots 를 사용하면 여러 개의 그래프를 하나의 figure에 표현할 수 있다.
    • subplots의 경우, 객체 기반 방식으로 보다, 원하는 기능을 구현하는데 유리하고,
    • subplot의 경우, 간단하고, 쉽고, 빠르게 그릴 때 더 유리하다.

pyplotsubplot

subplot는 상대적으로 쉬운 커멘드로 그래프를 구현할 수 있는 방법이다.

  • plt.subplot(row, column, index)
    • rowcolumn은 전체 그림의 공간을 지정 (행렬 방식)
    • index로 그림이 어떤 공간에 들어갈 지 지정

pyplotsubplots

axes 객체 기반의 twinx 메소드를 이용하면, x축을 공유하는 2개의 그래프를 동시에 그릴 수 있다.

  • 위의 그림처럼 2개의 그래프를 한 영역에 동시에 그리는 것도 가능
    • 하나의 ax에 2종류의 그래프가 그려짐
    • 같은 x축을 공유하나, 다른 y축 사용
  • subplot 처럼 여러 영역에 그림을 나누어 그리는 것도 가능

실습 코드

profile
백엔드, Data Science, AI 분야 학습 내용을 정리하는 블로그입니다.

0개의 댓글