import seaborn as sns
sns.set_theme(style="darkgrid")
df = sns.load_dataset("penguins")
df
seaborn
sns.displot(
df,
x="flipper_length_mm",
col="species",
row="sex",
binwidth=3,
height=3,
facet_kws=dict(margin_titles=True),
)
설명
- 1. sns.displot()
- displot()은 Seaborn에서 제공하는 분포 시각화 함수로, 히스토그램이나 커널 밀도 추정(KDE) 그래프를 그릴 때 사용됩니다.
- 이 함수는 특히 여러 범주형 변수에 따라 데이터를 나누어 시각화할 때 유용합니다.
- 2. data=df
- df: 시각화에 사용할 데이터프레임을 지정합니다. 여기서는 df라는 데이터프레임이 사용됩니다.
- 이 데이터프레임에는 펭귄의 다양한 특성(예: 지느러미 길이, 종(species), 성별(sex))이 포함되어 있다고 가정합니다.
- 3. x="flipper_length_mm"
- x="flipper_length_mm": X축에 표시할 변수를 지정합니다. 여기서는 펭귄의 지느러미 길이(flipper_length_mm)가 X축에 표시됩니다.
- 즉, 히스토그램은 펭귄의 지느러미 길이가 어떻게 분포되어 있는지를 보여줍니다.
- 4. col="species", row="sex"
- col="species": 데이터프레임의 특정 열(species)을 기준으로 열 방향으로 그래프를 나눕니다. 각 종에 대해 별도의 히스토그램이 생성됩니다.
- 예를 들어, 펭귄의 종(species)이 세 가지라면, 각 종에 대해 별도의 히스토그램이 그려집니다.
- row="sex": 데이터프레임의 특정 열(sex)을 기준으로 행 방향으로 그래프를 나눕니다. 성별(sex)에 따라 각 종별로 별도의 히스토그램이 생성됩니다.
- 예를 들어, 성별(sex)이 두 가지(수컷과 암컷)라면, 각 성별에 대해 별도의 행(row)이 생성됩니다.
- col="species": 데이터프레임의 특정 열(species)을 기준으로 열 방향으로 그래프를 나눕니다. 각 종에 대해 별도의 히스토그램이 생성됩니다.
- 5. binwidth=3
- binwidth=3: 히스토그램에서 각 막대(bin)의 너비를 설정합니다. 여기서는 각 막대의 너비가 3으로 설정되었습니다.
- 이 값은 데이터를 더 세밀하게 또는 더 뭉뚱그려서 표현하는 데 영향을 줍니다. 작은 값일수록 더 세밀하게 분포를 볼 수 있고, 큰 값일수록 더 뭉뚱그려서 볼 수 있습니다.
- 6. height=3
- height=3: 각 플롯의 높이를 설정합니다(단위는 인치). 여기서는 각각의 플롯 높이가 3인치로 설정되어 있습니다.
- 7. facet_kws=dict(margin_titles=True)
- facet_kws=dict(margin_titles=True): FacetGrid에서 사용할 추가적인 키워드 인자를 설정합니다.
- 여기서 margin_titles=True는 각 플롯의 제목을 여백에 표시하도록 설정하는 옵션입니다. 이를 통해 플롯 제목이 겹치지 않고 깔끔하게 표시됩니다.
결론
- displot 시각화는 여러 범주형 변수를 기준으로 연속형 변수의 분포를 비교하는 데 매우 유용합니다:
- 범주형 변수 간 차이를 쉽게 비교하고 분석할 수 있습니다.
- 다양한 상황에서 데이터를 탐색하고 시각적으로 이해하는 데 도움을 줍니다.
- 따라서 펭귄 데이터뿐만 아니라 다양한 분야에서 적용 가능하며, 특히 제품 판매량이나 고객 행동 분석 등에서도 유용하게 사용할 수 있습니다!
'[업무 지식] > Seaborn' 카테고리의 다른 글
[catplot] Grouped barplots (0) | 2024.11.09 |
---|---|
[relplot] Line plots on multiple facets (0) | 2024.11.09 |
[lineplot] Timeseries plot with error bands (0) | 2024.11.08 |
[lmplot] Anscombe’s quartet (0) | 2024.11.08 |
[Scatterplot] Scatterplot with multiple semantics (0) | 2024.11.08 |