[4주차] matplotlib으로 2차원 그래프 그리기

Gracie·2024년 5월 10일
0

Matplotlib란?

  • 파이썬의 대표 시각화 도구
  • matplotlib은 plt로 많이 naming하여 사용한다
  • Jupyter Notebook 유저의 경우 matplotlib의 결과가 out session에 나타나는 것이 유리하므로 %matplotlib inline 옵션을 사용한다.

matplotlib.pyplot -> 2차원 그래프를 나타내는 모듈
MATLAB과 유사한 인터페이스를 제공하여 데이터 시각화를 위한 간편한 API를 제공하고, 주로 "plt"라는 별칭으로 임포트하여 사용됨

2. import

# 초기설정 코드블럭
import numpy as np
from matplotlib import rc # 한글설정
rc('font', family='Malgun Gothic')
# matplotlib inline
get_ipython().run_line_magic('matplotlib', 'inline')
# matplotlib으로 생성된 그래프를 주피터 노트북 내에서 바로 표시하도록 설정

3. matplotlib 기본 형태

    plt.figure(figsize = (10,6))
    plt.plot(x, y)
    plt.show()

4. plot 그래프 그려보기

def drawGraph():

    plt.figure(figsize=(10, 6))

    plt.plot(t, np.sin(t), label='sin')
    plt.plot(t, np.cos(t), label='cos')

    #격자무늬
    plt.grid(True)

    # 범례
    plt.legend(labels=['sin', 'cos'])
    #처음 그래프 설정할 때부터 라벨이름은 설정해주면 매개변수 필요 없음
    plt.legend(loc = 3) #lower left

    #제목 붙이기
    plt.title('Example of sinewave')
    plt.xlabel('time')
    plt.ylabel('Amplitude') #진폭

    plt.show()

pandas에서 matplotlib 사용하기
data_frame[column].plot(kind = 'bar', figsize = [10,10])

그래프 커스텀

  • 그래프에 표현되는 값을 다양한 모양으로 커스텀할 수 있다.
plt.figure(figsize=(10,6))
plt.plot(t, t, 'r--') # red ----
plt.plot(t, t ** 2, 'bs') # blue square
plt.plot(t, t ** 3, 'g>') # grin triangle
plt.show()

  • color, linestyle, marker, facecolor 등 변경하기
def drawGraph():
    plt.figure(figsize=(10, 6))
    plt.plot(
        t,
        y,
        color='pink',
        linestyle='dashed', #선의 모양, dashed = 점선 = '--'
                            #실선 = '-'
        marker = 'o',
        markerfacecolor = 'blue',
        markersize = 10
    )
    plt.xlim([-0.5, 10])
    plt.ylim([0.5, 9.5])
    plt.grid(True)
    plt.show()

drawGraph()

3. scatter plot

  • 점 그래프
    plt.scatter(x, y) #기본 형태
def drawGraph():
    plt.figure(figsize=(10, 6))
    plt.scatter(t, y, s= 100, c=t, marker='>') #선 그래프가 아닌 점 그래프
    #s는 marker의 사이즈
    plt.colorbar()
    plt.show

drawGraph()

matplotlib의 다양한 그래프들

profile
비전공자의 Data Analyst 도전기 🥹✨

0개의 댓글