Pandas 데이터프레임의 여러 열을 하나의 선 그래프 Y축에 함께 그리려면 set_index() 메서드를 사용해 인덱스를 설정하면 됩니다. 이 방식을 활용하면 특정 열을 X축 기준으로 삼고, 나머지 열들의 값을 각각의 선으로 자연스럽게 표현할 수 있습니다.
구현 단계
- 그림(figure) 크기를 설정하고, 서브플롯 주변 및 사이의 여백(padding)을 조정합니다.
- Category 1, Category 2, Category 3 세 개의 열을 가진 데이터프레임을 생성합니다.
- set_index() 메서드를 사용해 기존 열 중 하나를 DataFrame의 인덱스로 지정합니다.
- 완성된 그래프를 화면에 표시하려면 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({'Category 1': [2, 4, 5, 1, 0, 3],
'Category 2': [6, 3, 1, 4, 5, 2],
'Category 3': [2, 4, 1, 3, 6, 0]})
df.set_index('Category 1').plot()
plt.show()
실행 결과

위 코드를 실행하면 'Category 1' 열이 X축으로 설정되고, 'Category 2'와 'Category 3'의 값들이 서로 다른 색상의 선으로 그려진 선 그래프가 출력됩니다. 이처럼 set_index()를 활용하면 별도의 반복문 없이 여러 열을 한 번에 시각화할 수 있어 코드가 간결해집니다.