import seaborn as sns
sns.set_theme(style="dark")
# Load the example tips dataset
tips = sns.load_dataset("tips")
tips
seaborn
sns.violinplot(
data=tips,
x="day",
y="total_bill",
hue="smoker",
split=True,
inner="quart",
fill=False,
palette={"Yes": "g", "No": ".35"}
)
설명
- sns.set_theme(style="dark"): Seaborn의 테마를 설정하는 함수입니다.
- style="dark": 어두운 배경을 적용하여 데이터 포인트와 선이 더 명확하게 보이도록 설정합니다. 이 스타일은 시각적으로 강조하고 싶은 데이터를 더 돋보이게 할 때 유용합니다.
- sns.violinplot(): 바이올린 플롯(violin plot)을 그리는 함수입니다. 바이올린 플롯은 데이터의 분포를 시각화하는 도구로, 히스토그램과 커널 밀도 추정(KDE)을 결합한 형태입니다.
- data=tips: 시각화할 데이터셋을 지정합니다. 여기서는 tips 데이터셋을 사용합니다.
- x="day": X축에 표시할 변수를 지정합니다. 여기서는 요일(day)이 X축에 표시됩니다.
- y="total_bill": Y축에 표시할 변수를 지정합니다. 여기서는 총 지불 금액(total_bill)이 Y축에 표시됩니다.
- hue="smoker": 흡연 여부(smoker)에 따라 색상을 다르게 설정합니다. 즉, 흡연자와 비흡연자가 각각 다른 색상으로 구분됩니다.
- split=True: 흡연자와 비흡연자의 바이올린 플롯을 하나의 바이올린 모양으로 결합하여 비교하기 쉽게 만듭니다. 각 요일마다 흡연자와 비흡연자의 분포가 한 바이올린 안에서 나뉘어져 비교됩니다.
- inner="quart": 바이올린 내부에 사분위수(quartile)를 표시합니다. 이를 통해 데이터의 중앙값과 사분위수를 시각적으로 확인할 수 있습니다.
- fill=False: 바이올린 플롯 내부를 채우지 않고 빈 상태로 유지합니다. 이는 플롯을 더 간결하게 보이게 하며, 외곽선만 강조됩니다.
- palette={"Yes": "g", "No": ".35"}: 흡연 여부에 따라 색상을 지정합니다. 여기서는 흡연자는 녹색("g"), 비흡연자는 회색(".35")으로 설정됩니다.
결론
- 이 시각화는 다음과 같은 경우 유용하게 사용할 수 있습니다:
- 여러 범주형 변수(예: 요일과 흡연 여부)에 따른 연속형 변수(예: 총 지불 금액)의 분포를 분석하고자 할 때.
- 실제 사례로는 레스토랑에서 요일별로 손님의 소비 패턴을 파악하거나 소매업체에서 특정 상품 카테고리의 판매량 변화를 지역별로 비교하는 데 활용할 수 있습니다.
- 특정 그룹 간 평균 값을 비교하고자 할 때.
- 헬스케어 분야에서는 환자의 BMI 변화나 혈압 데이터를 성별 또는 나이에 따라 비교하여 맞춤형 건강 프로그램을 설계하는 데 도움을 줄 수 있습니다.
- 여러 범주형 변수(예: 요일과 흡연 여부)에 따른 연속형 변수(예: 총 지불 금액)의 분포를 분석하고자 할 때.
'[업무 지식] > Seaborn' 카테고리의 다른 글
[jointplot] Hexbin plot with marginal distributions (1) | 2024.11.09 |
---|---|
[relplot] Scatterplot heatmap (0) | 2024.11.09 |
[barplot] Grouped boxplots (0) | 2024.11.09 |
[catplot] Grouped barplots (0) | 2024.11.09 |
[relplot] Line plots on multiple facets (0) | 2024.11.09 |