Matplotlib

uuuu.jini·2022년 10월 7일
0

#1] Matplotlib 기본 그래프 그리기

학습할 데이터를 선별하고, 만들어진 모델을 검증하기 위해서는 데이터를 이해하는 것이 필수적이고 이를 위해서는 데이터를 시각화해서 보는 것이 매우 중요하다.

> 기본 그래프 그리기

기본적인 그래프를 그리기 위해서는 matplotlib.pyplot에서 plot(x,y)를 사용하면 된다. x,y는 각각 X축과 Y축의 값이 된다.

from matplotlib import pyplot as plt
import numpy as np

x = np.arange(1,10)
y = x*5

plt.plot(x,y)
plt.show()

> 색 바꾸기

그래프를 그릴 때 선의 색을 지정하기 위해서는 plot에서 인자로 컬러를 주면 된다. 붉은색은 r, 파란색은 b로 정의한다.

plt.plot(x,y,'r')
plt.show()


> 선 종류 변경하기

선을 그릴떄, 다양한 선의 종류를 선택할 수 있다. 디폴트가 직선이고, 점으로 표현하는 마커나 점선 등을 선택할 수 있다. 선의 선택은 plot에서 세번째 인자에 선의 종류를 지정하면 되고, 색을 같이 지정하려면 다음 문자에 색을 지정하면 된다.

plt.plot(x,y,'or') # 동그란 마커, 붉은색
plt.show()

> 라벨과 타이틀

그래프를 그릴때 그래프의 타이틀과 X,Y축의 라벨을 표현하기 위해서는 타이틀을 plt.title("타이틀명") , X,Y축에 대한 라벨은 plt.xlabel('X축 라벨명'), plt.ylabel('Y축 라벨명')을 사용한다.

plt.plot(x,y)
plt.xlabel('x axis')
plt.ylabel('y axis')
plt.title('matplotlibe sample')

plt.show()

> 축의 눈금 간격

Tick은 그래프의 축에 간격을 구분하기 위해 표시하는 눈금이다.

matplotlib.pyplot 모듈의 xticks(),yticks(),tick_params() 함수를 이용해서 그래프에 눈금을 표시한다.

1] 기본 사용

x = np.arange(0,2,0.2)
plt.plot(x, x, 'bo')
plt.plot(x, x**2, color='#e35f62', marker='*', linewidth=2)
plt.plot(x, x**3, color='forestgreen', marker='^', markersize=9)
plt.xticks([0, 1, 2])
plt.yticks(np.arange(1, 6))

plt.show()

xticks(),yticks() 함수는 각각 X축, Y축에 눈금을 표시한다. 파이썬 리스트 또는 Numpy 어레이를 입력하면 눈금과 숫자 레이블이 표시된다.

2] 눈금 레이블 지정하기

x = np.arange(0, 2, 0.2)

plt.plot(x, x, 'bo')
plt.plot(x, x**2, color='#e35f62', marker='*', linewidth=2)
plt.plot(x, x**3, color='springgreen', marker='^', markersize=9)
plt.xticks(np.arange(0, 2, 0.2), labels=['Jan', '', 'Feb', '', 'Mar', '', 'May', '', 'June', '', 'July'])
plt.yticks(np.arange(0, 7), ('0', '1GB', '2GB', '3GB', '4GB', '5GB', '6GB'))

plt.show()

labels 파라미터를 사용하면 눈금 레이블을 문자열의 형태로 지정할 수 있다. 입력해준 눈금의 개수와 같은 개수의 레이블을 지정해준다.

여러 개의 그래프 그리기 - plt.subplots()


subplot 여러개를 그리기 위한 격자를 생성한다.

예를 들어, 세로 3개, 가로 4개 사이즈의 격자를 만들고 싶다면 아래와 같이 코드를 작성한다.

import matplotlib.pyplot as plt

f, axes = plt.subplots(3,4)
plt.show()

plt.subplots() 함수 내에 y,x 방향으로 몇개의 격자를 만들 것인지를 지정하면 다양한 형태의 격자를 만들 수 있다.

f - figure 전체 컨트롤 변수
axes - 그래프 각각 조절 변수

# [0,1] 위치 막대 그래프 
axes[0,1].bar(['x','y','z'],[15,13,18],color=['r','g','y'], alpha = 0.4)
profile
멋쟁이 토마토

0개의 댓글