Skip to content

Seaborn의 displot을 사용하여 사용자 정의 분포 그래프 만들기

Updated on

데이터 시각화는 데이터 분석 및 기계 학습의 중요한 측면입니다. 복잡한 데이터 세트를 이해하고 그 중에서 통찰력을 얻을 수 있도록 도와줍니다. 파이썬에서 데이터 시각화를 위한 가장 인기있는 라이브러리 중 하나인 Seaborn의 가장 강력한 도구 중 하나는 displot 함수입니다. 이 튜토리얼에서는 파이썬의 Seaborn displot 함수를 사용하여 분포 그래프를 생성하고 사용자 정의하는 방법을 안내합니다.

Seaborn의 displot은 데이터 분포를 시각화하는 다양한 종류의 그래프를 생성할 수 있는 다재다능한 함수입니다. 이 그래프들에는 히스토그램, KDE 그래프 및 ECDF 그래프가 포함됩니다. 이는 단변량 및 이변량 데이터 모두를 처리할 수 있는 유연하고 강력한 도구이며, 어떤 데이터 분석가의 도구상 필수적입니다. 경험이 있는 데이터 과학자이든 막 시작하는 초보자이든, 효과적으로 displot을 사용하는 법을 이해하면 데이터 시각화 기술을 크게 향상시킬 수 있습니다.

Seaborn에서의 Displot이란?

Seaborn의 displot은 데이터의 분포를 시각화하기 위해 설계된 함수입니다. 이는 히스토그램, KDE 그래프 및 ECDF 그래프를 포함한 다양한 종류의 분포 그래프를 생성할 수 있는 유연한 함수입니다. displot 함수는 Seaborn의 relational 모듈의 일부로, 변수 간의 통계적 관계를 시각화하기 위해 설계되었습니다.

displot의 기본 구문은 다음과 같습니다:

seaborn.displot(data, x=None, y=None, hue=None, row=None, col=None, weights=None, kind='hist', rug=False, rug_kws=None, log_scale=None, legend=True, palette=None, hue_order=None, hue_norm=None, color=None, col_wrap=None, row_order=None, col_order=None, height=5, aspect=1, facet_kws=None, **kwargs)

displot 함수는 여러 인수를 취하여 그래프의 외관과 동작을 사용자 정의할 수 있습니다. 예를 들어, 그래프의 종류(히스토그램, KDE 또는 ECDF), 플롯할 변수(x 및 y), 색상 그룹화에 사용할 변수(hue) 등을 지정할 수 있습니다.

Distplot과 Displot의 차이점

distplotdisplot은 모두 데이터 분포를 시각화하기 위해 사용되는 Seaborn 함수입니다. 그러나 그들 사이에는 몇 가지 주요한 차이점이 있습니다. distplot 함수는 이전 버전의 Seaborn에서 히스토그램 및 KDE 그래프를 만드는 데 사용되는 주요 함수였습니다. 그러나 최근 버전의 Seaborn에서는 distplot이 폐기되었고, 분포 그래프를 만들기 위해 이제 displot이 권장되는 함수로 대체되었습니다.

displot 함수는 distplot 보다 유연하고 강력합니다. 단변량 및 이변량 데이터를 처리할 수 있으며, 히스토그램, KDE 그래프, ECDF 그래프 등 다양한 종류의 그래프를 생성할 수 있습니다. 게다가, displotFacetGrid의 사용을 지원합니다. 이를 통해 단일 그림에 여러 하위 그림을 생성할 수 있습니다.

Seaborn이 폐기되었나요?

아니요, Seaborn은 폐기되지 않았습니다. 그러나 최근 버전의 Seaborn에서는 distplot과 같은 일부 함수가 폐기되었습니다. displot 함수가 이제 Seaborn에서 분포 그래프를 만들기 위한 권장 함수입니다. 이는 distplot보다 유연하고 강력하며, Seaborn의 relational 모듈과 잘 작동하도록 설계되었습니다.

Seaborn Displot 예제

displot을 사용하는 방법을 더 잘 이해하기 위해 몇 가지 예제를 살펴봅시다. 먼저 필요한 라이브러리를 가져오고 데이터셋을 로드하는 방법을 알아봅시다:

import seaborn as sns
import matplotlib.pyplot as plt
 
## 펭귄 데이터셋 로드
penguins = sns.load_dataset("penguins")

예제 1: 기본 히스토그램

displot의 가장 간단한 사용법은 단일 변수의 히스토그램을 만드는 것입니다. 다음은 펭귄 데이터셋의 flipper_length_mm 변수의 히스토그램을 만드는 방법입니다:

sns.displot(data=penguins, x="flipper_length_mm")
plt.show()

이렇게 하면 자동적으로 막대 크기를 결정하는 기본 히스토그램이 생성됩니다. bins 매개 변수를 사용하여 막대의 수를 사용자 정의할 수 있습니다:

sns.displot(data=penguins, x="flipper_length_mm", bins=20)
plt.show()

예제 2: KDE가 포함된 히스토그램

kde 매개 변수를 사용하여 히스토그램에 Kernel Density Estimate (KDE) 그래프를 추가할 수도 있습니다:

sns.displot(data=penguins, x="flipper_length_mm", kde=True)
plt.show()

KDE 그래프는 히스토그램의 부드러운 버전이며, 데이터 분포의 형태를 더 잘 이해할 수 있습니다.

예제 3: FacetGrid 히스토그램

displot의 가장 강력한 기능 중 하나는 FacetGrid를 사용하여 단일 그림에 여러 하위 그림을 생성하는 기능입니다. 다음과 같이 각 펭귄 종에 대해 별도의 하위 그림을 생성할 수 있습니다:

sns.displot(data=penguins, x="flipper_length_mm", col="species")
plt.show()

이렇게 하면 각 펭귄 종마다 별도의 히스토그램이 생성되어 펭귄 종 간의 리핏 길이 분포를 비교할 수 있습니다.

Seaborn Displot 사용자 정의

Seaborn의 displot 함수는 그래프의 외관을 사용자 정의하는 다양한 옵션을 제공합니다. 플롯의 색상, 막대의 크기와 스타일, KDE 플롯의 외관 등을 제어할 수 있습니다.

예제 4: 색상과 막대 사용자 정의

플롯의 색상을 변경하려면 color 매개 변수를 사용할 수 있습니다. 예를 들어, 빨간색 히스토그램을 생성하려면 다음과 같이 할 수 있습니다:

sns.displot(data=penguins, x="flipper_length_mm", color="red")
plt.show()

binwidthbinrange 매개 변수를 사용하여 막대의 크기와 스타일을 사용자 정의할 수도 있습니다. 예를 들어, 너비가 5이고 범위가 150에서 250인 막대를 가진 히스토그램을 생성하려면 다음과 같이 할 수 있습니다:

 

sns.displot(data=penguins, x="flipper_length_mm", binwidth=5, binrange=(150, 250)) plt.show()

Example 5: Customizing KDE Plot

If you're using a KDE plot, you can customize its appearance using the kde_kws parameter. For example, to create a KDE plot with a thicker line and a different color, you can do:

sns.displot(data=penguins, x="flipper_length_mm", kde=True, kde_kws={"color": "green", "lw": 3})
plt.show()

Seaborn Displot with Multiple Columns

One of the most powerful features of Seaborn's displot function is its ability to handle multiple columns of data. This allows you to create complex visualizations that can reveal interesting patterns and relationships in your data.

Example 6: Displot with Two Variables

To create a displot with two variables, you can specify both the x and y parameters. For example, to create a bivariate histogram of the flipper_length_mm and body_mass_g variables, you can do:

sns.displot(data=penguins, x="flipper_length_mm", y="body_mass_g")
plt.show()

This will create a 2D histogram where the color intensity represents the number of data points in each bin.

Example 7: Displot with Hue

You can also use the hue parameter to group your data by another variable. For example, to create a histogram of flipper_length_mm grouped by species, you can do:

sns.displot(data=penguins, x="flipper_length_mm", hue="species")
plt.show()

This will create a separate histogram for each species, with different colors for each species.

Frequently Asked Questions

  1. What is the displot function in Seaborn?

The displot function in Seaborn is a flexible function designed to visualize the distribution of data. It can create a variety of distribution plots, including histograms, KDE plots, and ECDF plots.

  1. How can I customize the appearance of my displot?

You can customize the appearance of your displot using various parameters, such as color for the color of the plot, binwidth and binrange for the size and range of the bins, and kde_kws for the appearance of the KDE plot.

  1. Can I use displot with multiple columns of data?

Yes, displot can handle multiple columns of data. You can specify both the x and y parameters to create a bivariate histogram, or use the hue parameter to group your data by another variable.