다중 플롯 그리드(FacetGrid, lmplot)
Seaborn은 범주를 기준으로 여러 개의 서브플롯을 생성해 그룹 간 패턴을 쉽게 비교할 수 있습니다.
이때 자주 사용하는 도구가 FacetGrid
와 lmplot
입니다.
FacetGrid: 범주별 서브플롯 생성
FacetGrid
는 범주형 변수의 고유값을 기준으로 서브플롯을 격자 형태로 배치합니다.
주요 매개변수는 다음과 같습니다.
- rows: 플롯을 세로로 나누는 변수
- cols: 플롯을 가로로 나누는 변수
- hue (선택): 데이터 포인트에 색상을 적용할 변수
복잡한 데이터셋을 더 작고 명확한 뷰로 나누어 볼 수 있습니다.
산점도로 보는 FacetGrid
import seaborn as sns import matplotlib.pyplot as plt tips = sns.load_dataset("tips") g = sns.FacetGrid(tips, row="sex", col="time", hue="smoker", margin_titles=True) g.map_dataframe(sns.scatterplot, x="total_bill", y="tip") g.add_legend() plt.show()
아래는 히스토그램으로 보는 FacetGrid의 예제입니다.
히스토그램으로 보는 FacetGrid
g = sns.FacetGrid(tips, col="day") g.map_dataframe(sns.histplot, x="total_bill", bins=20) plt.show()
lmplot: 회귀선과 패싯 결합
lmplot
은 회귀 플롯과 FacetGrid
기능을 결합한 도구입니다.
변수 간 관계를 회귀선과 함께 시각화하고, 범주별 패턴을 한눈에 비교할 수 있습니다.
카테고리와 패싯이 있는 lmplot
sns.lmplot( data=tips, x="total_bill", y="tip", hue="sex", col="time", height=4, scatter_kws={"alpha": 0.6} ) plt.show()
FacetGrid vs lmplot
FacetGrid와 lmplot의 차이점은 다음과 같습니다.
- FacetGrid: 다양한 플롯 함수(산점도, 히스토그램, KDE, 막대 등)를 자유롭게 매핑해야 할 때
- lmplot: 회귀선 시각화와 패싯을 한 번에 적용하고 싶을 때
다중 플롯 그리드 활용 팁
- 패싯 수 제한: 범주가 너무 많으면 그리드가 복잡해짐
- 축 범위 일관성 유지:
sharex
와sharey
로 비교 용이성 확보 - 범례와 제목 추가: 가독성을 위해
add_legend()
와margin_titles=True
활용
이제 화면 오른쪽의 노트북에서 단계별로 실습하며 다중 플롯 그리드를 익혀 보세요.
Quiz
0 / 1
Seaborn에서 FacetGrid를 사용하는 목적은 무엇인가요?
FacetGrid는 하나 이상의 범주형 변수의 고유값을 기준으로 을(를) 생성하는 데 사용됩니다.
단일 플롯
여러 개의 서브플롯
파이 차트
대화형 대시보드
학습 자료
AI 튜터
디자인
업로드
수업 노트
즐겨찾기
도움말