Pandas와 matplotlib.pyplot()을 활용하면 별도의 복잡한 설정 없이도 그래프에 범례(legend)를 손쉽게 추가할 수 있습니다. 이 글에서는 DataFrame 데이터를 막대그래프로 시각화하면서 자동으로 범례를 표시하는 방법을 단계별로 살펴보겠습니다.
범례 생성 단계
- 그림(figure)의 크기를 설정하고, 서브플롯 사이 및 주변의 여백(padding)을 조정합니다.
- 2차원 구조로 크기 변경이 가능하며, 서로 다른 데이터 타입을 담을 수 있는 표 형태의 데이터(DataFrame)를 생성합니다.
- DataFrame 객체를 막대그래프(kind='bar') 형식으로 플롯하고, legend=True 옵션을 지정합니다.
- 완성된 그래프를 화면에 표시하려면 show() 메서드를 호출합니다.
예제 코드
import pandas as pd
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
fig, ax = plt.subplots()
df = pd.DataFrame({'Numbers': [3, 4, 1, 7, 8, 5], 'Frequency': [2, 4, 1, 4, 3, 2]})
df.plot(ax=ax, kind='bar', legend=True)
plt.show()실행 결과
위 코드를 실행하면 'Numbers'와 'Frequency' 두 개의 열이 서로 다른 색상의 막대로 표현되고, 그래프에 각 열 이름을 나타내는 범례가 자동으로 함께 출력됩니다.

핵심 정리
Pandas의 plot() 메서드는 내부적으로 Matplotlib을 기반으로 동작하기 때문에, legend=True 옵션 하나만으로 범례 표시가 가능합니다. 또한 plt.rcParams을 통해 그림 크기와 레이아웃을 미리 지정해두면, 별도의 후처리 작업 없이도 깔끔하게 정렬된 그래프를 얻을 수 있습니다.