Seaborn lmplot에 제목 추가하기
Seaborn의 lmplot() 함수는 데이터에 회귀선을 함께 표시하는 산점도를 손쉽게 그려주는 강력한 시각화 도구입니다. 다만 lmplot은 일반적인 Matplotlib 축(Axes) 객체가 아닌 FacetGrid 객체를 반환하기 때문에, 제목을 추가하려면 gca() 메서드로 현재 축을 먼저 가져온 후 설정해야 합니다.
단계별 진행 과정
- 그림(figure) 크기를 설정하고 서브플롯 사이와 주변의 여백(padding)을 조정합니다.
- X축과 Y축 두 개의 열을 가진 Pandas 데이터프레임을 생성합니다.
- lmplot() 메서드를 호출하여 그래프를 그립니다.
- gca() 메서드를 사용하여 현재 축 객체를 가져옵니다.
- 가져온 축에 set_title()로 제목을 지정합니다.
- show() 메서드를 사용하여 그림을 화면에 표시합니다.
전체 예제 코드
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
# 그림 크기 및 자동 레이아웃 설정
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
# X축, Y축 데이터를 가진 데이터프레임 생성
df = pd.DataFrame({
"X-Axis": [np.random.randint(10) for i in range(10)],
"Y-Axis": [i for i in range(10)]
})
# lmplot으로 회귀선이 포함된 산점도 그리기
bar_plot = sns.lmplot(x='X-Axis', y='Y-Axis', data=df, height=3.5)
# 현재 축을 가져와 제목 설정
ax = plt.gca()
ax.set_title("Random Data Implot")
plt.show()실행 결과
위 코드를 실행하면 무작위 데이터에 대한 회귀선이 포함된 산점도 상단에 "Random Data Implot"이라는 제목이 표시됩니다.

추가 팁
lmplot이 반환하는 FacetGrid 객체를 직접 활용하는 방법도 있습니다. bar_plot.fig.suptitle("제목") 또는 최신 버전에서는 bar_plot.figure.suptitle("제목")을 사용하면 전체 그림에 제목을 추가할 수 있습니다. 특히 여러 개의 서브플롯(facet)을 한 번에 그릴 때는 이 방법이 더 적합합니다.