본문 바로가기
[업무 지식]/Seaborn

[boxeplot] Plotting large distributions

by 에디터 윤슬 2024. 11. 17.

import seaborn as sns
sns.set_theme(style="whitegrid")

diamonds = sns.load_dataset("diamonds")

데이터셋

  • sns.load_dataset("diamonds"): Seaborn에 내장된 다이아몬드 데이터셋을 불러옵니다. 이 데이터셋은 다이아몬드의 가격, 캐럿, 컷 품질, 색상, 투명도(clarity) 등의 정보를 포함하고 있습니다.
    • carat (연속형): 다이아몬드의 무게.
    • clarity (범주형): 다이아몬드의 투명도 등급 (I1, SI2, SI1, VS2, VS1, VVS2, VVS1, IF).
    • cut (범주형): 다이아몬드의 컷 품질.
    • color (범주형): 다이아몬드의 색상 등급.
    • price (연속형): 다이아몬드의 가격.

코드 설명

clarity_ranking = ["I1", "SI2", "SI1", "VS2", "VS1", "VVS2", "VVS1", "IF"]

sns.boxenplot(
    diamonds, 
    x="clarity", 
    y="carat",
    color="b", 
    order=clarity_ranking, 
    width_method="linear",
)
  • clarity_ranking: clarity 변수는 다이아몬드의 투명도를 나타내는 범주형 변수입니다. 여기서는 투명도 등급을 특정 순서대로 정렬하기 위해 리스트를 정의했습니다. I1부터 IF까지 투명도가 낮은 순서에서 높은 순서로 정렬됩니다.
  • sns.boxenplot(): Boxen Plot을 생성하는 함수입니다.
    • x="clarity": x축에 다이아몬드의 투명도 등급(clarity)을 설정합니다.
    • y="carat": y축에 다이아몬드의 무게(carat)를 설정합니다.
    • color="b": 플롯의 색상을 파란색으로 지정합니다.
    • order=clarity_ranking: clarity_ranking 리스트에 정의된 순서대로 x축에 범주를 표시합니다.
    • width_method="linear": 상자 너비를 선형 방식으로 조정합니다.

사용 사례

  • 부동산 시장 분석:
    • 부동산 시장에서 주택 가격과 평수 간의 관계를 분석할 때 사용할 수 있습니다. 예를 들어, 주택 크기(평수)를 y축에 두고 지역별로 x축에 범주형 변수를 두어 주택 크기와 지역 간의 관계를 분석할 수 있습니다.
  • 자동차 시장 분석:
    • 자동차 시장에서 차량 가격과 연비 간의 관계를 분석할 때 사용할 수 있습니다. 차량 종류(예: SUV, 세단 등)를 범주형 변수로 두고 가격 또는 연비와 같은 연속형 변수를 함께 시각화하여 각 차량 종류별로 가격이나 연비가 어떻게 분포하는지 확인할 수 있습니다.
  • 교육 성과 분석:
    • 교육 분야에서 학생들의 성적과 학습 시간 간의 관계를 분석할 때 사용할 수 있습니다. 예를 들어, 학생들의 학년을 범주형 변수로 두고 학습 시간이나 시험 점수를 연속형 변수로 두어 각 학년별 성적 분포를 확인할 수 있습니다.