묭동이 개발 블로그
  • [matplotlib] 시각화 기초(선 그래프)
    2024년 01월 07일 16시 58분 46초에 업로드 된 글입니다.
    작성자: 묭동이

    안녕하세요 이번 글에서는 matplotlib 라이브러리를 이용해서 간단한 시각화를 하는 방법을 다뤄보겠습니다

     

    먼저 필요한 라이브러리를 불러오도록 하겠습니다

    import matplotlib.pyplot as plt

     

    data1 변수에 임의로 데이터를 넣은 후 그래프를 그려보았습니다.

    x축은 data1의 인덱스 값을, y축은 data1의 인덱스에 해당하는 값을 나타내며

    그래프는 직선형태임을 알 수 있습니다.

    data1 변수를 직선형태로 그리기

     

    그러나, 해당 방식은 OOP(객체지향프로그래밍) 방식의 코드가 아닙니다.

    파이썬은 객체지향언어이므로 저는 계속해서 위의 방식이 아닌 객체지향방식의 코드를 통해 시각화를 해보겠습니다.

     

    시각화를 할 때 가장 먼저 작성해주셔야 하는 코드는 아래 코드입니다.

    그림을 그릴때 사용하는 흰 도화지라고 이해해주시면 됩니다 !

    fig, ax = plt.subplots()

    위 코드를 실행하면 아래와 같이 빈 도화지가 생성되는 것을 확인할 수 있습니다

     

    임의의 데이터를 통해 선 그래프 시각화하는 방법을 익혀보겠습니다

     

    변수 설명

    dates : 날짜를 나타내는 데이터

    min_temperature : dates에 해당하는 하루 중 최소 기온

    max_temperature : dates에 해당하는 하루 중 최고 기온

     

    먼저 시각화를 하기 위해서 위에서 말씀드린대로 도화지를 그려줍니다

    아래는 도화지의 옵션이며 다음과 같은 의미를 나타냅니다

    • fig, ax = plt.subplots()
    • nrows=1
      • 생성될 서브플롯의 행의 수를 정의합니다. 
      • 여기서 1은 한 줄의 행만 있음을 의미합니다.
    • ncols=1
      • 생성될 서브플롯의 열의 수를 정의합니다.
      • 여기서 1은 한 줄의 열만 있음을 의미합니다.
    • figsize=(10, 3)
      • 생성될 그래프의 크기를 인치 단위로 정의합니다.
      • 즉, 너비가 10인치이고, 높이가 3인치인 도화지를 생성합니다.

     

    위 코드를 실행하면 위와 같은 그래프 출력결과를 확인할 수 있습니다

    x축에는 dates(= 날짜를 나타내는 데이터) 값이 y축에는 최소기온(15.8) ~ 최고기온(34.7) 까지를 나타내는 값이 있는 것을 확인할 수 있습니다.

    label은 그래프의 "범례"를 의미하며 설정한 범례는 ax.legend() 메소드를 통해 만들 수 있습니다.

    범례의 위치를 보면 우측 상단으로 올라갔으면 좋겠다는 생각이 드는데요, ax.legend(loc = 'upper right')와 같이 메소드에 옵션을 주어서 우측 상단으로 옮길 수 있습니다 !

     

     

    아래 링크는 다양한 범례 옵션을 볼 수 있는 링크입니다 :)

    https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.legend.html

     

    범례의 위치를 우측 상단으로 옮기기

     

    댓글