뱁새유니버스

[파이썬] #005. matplotlib에 대해 알아보자!

by 뱁새유니버스

1. 개요

지난 시간엔 파이썬에서 산술 연산을 할 수 있는 라이브러리인 numpy를 알아봤는데, 이번엔 그래프 그리기와 데이터 시각화를 위한 라이브러리인 matplotlib에 대해 알아보겠습니다!


2. 내용

matplotlib 설치

 

  • 라이브러리는 보통 pip 명령문을 통해 powershell에서 환경을 셋팅해준 다음에 입력하면 설치가 됩니다.
    PS> $ENV_NAME="pydl"
    PS> py -3.10 -m venv envs\${ENV_NAME}
    PS> Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
    PS> .\envs\pydl\Scripts\activate
    이런식으로요!
  • 그 다음엔 pip명령문을 통해 numpy 라이브러리와 기타 라이브러리를 모두 설치해줍니다.
    pip install tensorflow-cpu~=2.0 scikit-learn pandas matplotlib jupyterlab

단순 그래프 그리기

  • numpy와 matplotlib.pyplot 라이브러리를 import합니다. 여기서 matplotlib에 pyplot은 MATLAB과 비슷한 함수의 모음입니다. 
  • 여기서 x를 np.arange 함수를 이용하여 0부터 10까지 0.1 단위로 만들어줍니다. arange함수는 numpy 라이브러리 안에 있는 함수로 배열을 np.arange(from, to, 간격) 기준으로 나열합니다. print(x)를 통해 0부터 9.9까지 100개의 원소가 있는 배열이 생성된 것을 확인할 수 있습니다.

#라이브러리 import하기
import numpy as np
import matplotlib.pyplot as plt

#x,y 변수에 값 저장하기
x = np.arange(0,10,0.1) #0부터 10까지 0.1 간격으로 생성
y = np.sin(x)
  • plt.plot(x), plt.plot(y)를 통해 그래프가 출력되는 것을 확인할 수 있습니다.
  • 여기서 plt.show() 함수를 호출하면 그래프를 화면에 출력합니다. plt.show()를 두 번 입력했으니 두 개의 그래프가 출력되는 것을 확인할 수 있습니다. 

 

비교적 복잡한 그래프 그리기

  • 한 화면에 여러 개의 그래프를 그릴 수 있습니다.
  • x = np.arange()함수를 통해 0부터 10까지 0.1 간격으로 100개의 원소를 가진 배열(array)을 만들었습니다. 
  • y1은 x의 sin값입니다. y2는 x의 cos값입니다.
  • plt.plot(x,y1, label="sin")은 x와 y1 그래프를 그린 것입니다. label은 sin이라고 저장했습니다.
  • plt.plot(x,y2, linestyle='--', label="cos")은 x와 y2 그래프를 그린 것입니다. label은 cos이라고 저장했습니다. linestyle은 점섬으로 표기하기 위해 '--'로 정의했습니다.
  • plt.xlabel(), plt ylabel()은 x축과 y축의 이름을 설정하는데 쓰입니다. 
  • plt.legend()는 범례를 표기합니다. 
  • plt.show()가 하나만 있기 때문에 한 화면에 두 개의 그래프가 그려졌습니다.

#라이브러리 import
import numpy as np
import matplotlib.pyplot as plt

#x, y1, y2 값 설정하기
x = np.arange(0,10,0.1) #0부터 10까지 0.1 간격으로 생성
y1 = np.sin(x)
y2 = np.cos(x)

#그래프 그리기
plt.plot(x,y1, label="sin")
plt.plot(x,y2, linestyle='--',label="cos")
plt.xlabel("x")
plt.ylabel("y")
plt.legend()
plt.show()

 

이미지 불러오기

  • matplotlib.pyplot에는 이미지를 불러올 수 있는 메서드인 imshow()가 있습니다. 이미지를 읽을 때는 matplotlib.image 모듈의 imread()메서드를 사용합니다. 
  • matplotlib.pyplot을 import하고 from matplotlib.image import imread를 입력합니다.
  • image라는 변수에 imread 메서드를 사용해 이미지를 저장합니다.
  • plt.imshow(image)를 하니 그림이 출력되는 것을 확인할 수 있습니다.

#라이브러리 import
import matplotlib.pyplot as plt
from matplotlib.image import imread

#image 변수에 이미지 저장하기
image = imread('bs.jfif')

#imshow메서드를 사용해 이미지를 불러오기
plt.imshow(image)
plt.show()

3. 마치며

이번 시간은 matplotlib 라는 그래프를 그리는 라이브러리를 소개했습니다. numpy(산술연산), matplotlib(그래프 그리기) 라이브러리만 알고 있어도 머신러닝과 딥러닝에 필요한 준비물은 갖춘 것 같습니다. 앞으로의 걸어갈 여정에 옷가지와 신발을 준비했다고 할 수 있을까요? 추가적으로 필요한 라이브러리나 소개해야할 개념같은게 있으면 공유드리도록 하겠습니다.

 

질문이 있으시면 언제든 댓글 남겨주세요! 답변드리겠습니다.

이 글을 보는 모든 분들 오늘 하루가 행복하시길 바랍니다.

감사합니다.

 

반응형

블로그의 정보

가슴이 웅장해지는 모든것

뱁새유니버스

활동하기