Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Pandas와 Matplotlib로 여러 개의 선 그래프 그리는 방법

Pandas와 Matplotlib를 활용하면 하나의 그래프에 여러 개의 선(line)을 손쉽게 그릴 수 있습니다. 이 글에서는 DataFrame에 저장된 여러 방정식 데이터를 피벗(pivot)하여 한 번에 시각화하는 방법을 단계별로 살펴보겠습니다.

구현 절차

  • 그림 크기를 설정하고 서브플롯 주변과 사이의 여백(padding)을 조정합니다.
  • Pandas의 DataFrame 클래스를 사용해 equation, x, y 세 개의 열을 가진 2차원 표 형태의 데이터를 만듭니다.
  • pivot() 메서드를 사용해 인덱스는 x, 열은 equation, 값은 y가 되도록 DataFrame의 구조를 재배열합니다.
  • plot() 메서드로 각 방정식에 해당하는 선들을 그립니다.
  • 마지막으로 show() 메서드를 호출해 그림을 화면에 표시합니다.

예제 코드

import pandas as pd
from matplotlib import pyplot as plt

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

df = pd.DataFrame([
    ["y=x^3", 0, 0],
    ["y=x^3", 1, 1],
    ["y=x^3", 2, 8],
    ["y=x^3", 3, 27],
    ["y=x^3", 4, 64],
    ["y=x^2", 0, 0],
    ["y=x^2", 1, 1],
    ["y=x^2", 2, 4],
    ["y=x^2", 3, 9],
    ["y=x^2", 4, 16],
    ["y=mx", 0, 0],
    ["y=mx", 1, 1],
    ["y=mx", 2, 2],
    ["y=mx", 3, 3],
    ["y=mx", 4, 3],
], columns=['equation', 'x', 'y'])

df = df.pivot(index='x', columns='equation', values='y')
df.plot()
plt.show()

코드 설명

위 예제에서는 세 가지 방정식(y=x³, y=x², y=mx)에 대해 x 값이 0부터 4까지 변할 때의 y 값을 DataFrame으로 정의했습니다. 이후 pivot()을 호출하면 x 값이 행 인덱스로, 각 방정식이 개별 열로 배치되어 Matplotlib가 자동으로 방정식별로 다른 색상의 선을 그려줍니다.

실행 결과

코드를 실행하면 세 개의 곡선이 하나의 그래프에 함께 표시되며, 범례(legend)를 통해 각 선이 어떤 방정식에 해당하는지 쉽게 확인할 수 있습니다.

Pandas와 Matplotlib로 여러 개의 선 그래프 그리는 방법