displot()
변수 하나 혹은 두 개의 분포를 나타낼 때 displot에 포함된 여러 플롯들을 사용하면 아주 효과적이다.
기본적으로 히스토그램이 많이 사용된다.
sns.histplot(penguins, x="flipper_length_mm") #히스토그램을 만드는 함수
sns.displot(penguins, x="flipper_length_mm") #이것도 히스토그램 만듦
binwidth=
또는 bins=
를 사용sns.displot(penguins, x="flipper_length_mm", binwidth=3)#너비를 3으로
sns.displot(penguins, x="flipper_length_mm", bins=20)#20개로 줌
discrete=True
x축 값 중앙에 막대가 위치할 수 있도록 조정.shrink=
0~1사이를 넣어줌.sns.displot(tips, x="size", discrete=True, shrink=.7)
hue=
hue=
인자를 통해 추가 변수를 히스토그램에 추가할 수 있다.
sns.displot(penguins, x="flipper_length_mm", hue="species")
hue="species"
species컬럼 은 3가지의 값이 있다. 이 값들은 flipper_length_mm 컬럼의 값 많큼 x축에 들어가게 된다.
y축에 아무것도 넣지 않는다면 count로 된다.
위처럼 막대간 겹치는 부분은 아래 인자를 사용하면 된다.
element=step
: 선들이 이어지는 형태
multiple = stack
: 작은바가 큰바 뒤에 오는 형식
⭐multiple=dodge
: 변수가 카테고리형인 경우 / 겹치지 않게 두개의 바플롯 생성⭐
한번 써보장
element=step
: 선들이 이어지는 형태
sns.displot(penguins, x="flipper_length_mm", hue="species",
element="step")
multiple = stack
: 작은바가 큰바 뒤에 오는 형식
sns.displot(penguins, x="flipper_length_mm", hue="species",
multiple="stack")
multiple=dodge
: 변수가 카테고리형인 경우
두개의 바로 나눠서 비교해줌.
sns.displot(tips, x="size", discrete=True, shrink=.7,
hue='sex', multiple='dodge')
relplot처럼 displot또한 col
,row
를 이용해 여러 플롯으로 나눠 그릴 수 있다.
sns.displot(penguins, x="flipper_length_mm", col="sex")
col='sex'
: sex에는 male과 Female 값이 있기 때문에 두가지로 나눠짐.
이때 stat=’probability’
를 이용 그래프를 겹치게 하여 빈도의 비율값을 볼 수 있다.
sns.displot(penguins, x="flipper_length_mm", hue="species",
stat="probability")
kdeplot()
부드러운 곡선으로 이루어진 플롯
아래 코드는 같은 결과물을 보여준다.
sns.displot(penguins, x='flipper_length_mm', kind='kde')
sns.kdeplot(penguins, x="flipper_length_mm")
bw_adjust
를 이용해 곡선을 세밀하게 혹은 더 부드럽게 표현이 가능하다.sns.displot(penguins, x="flipper_length_mm", kind="kde",
bw_adjust=.25)
이것도 hue
인자를 통해 변수간 분포를 더 세밀하게 시각화 할 수 있다!
sns.displot(penguins, x="flipper_length_mm", hue="species",
kind="kde")
species 컬럼의 값 3개를 한번에 보는 코드..!
이때 fill=True
인자를 통해 색을 칠할 수 있다.
sns.displot(penguins, x="flipper_length_mm", hue="species",
kind="kde", fill=True)
변수가 두개가 들어갈 때 y에 2번째 변수를 넣으면 heatmap을 그려준다.
sns.displot(penguins, x="bill_length_mm", y="bill_depth_mm")
cbar=
: 컬러바 유무(True / False)binwidth=
x축과y축 간의 크기를 조절sns.displot(penguins, x="bill_length_mm", y="bill_depth_mm",
binwidth=(2, .5), cbar=True)
이때 kine=
를 ‘kde’(선형)로 설정하면 등고선을 그려줌.
sns.displot(penguins, x="bill_length_mm", y="bill_depth_mm",
kind="kde")
thresh
: 각 측마다의 최소 간격
levels
: 층 수
sns.displot(penguins, x="bill_length_mm", y="bill_depth_mm",
kind="kde", thresh=.2, levels=4)
levels
층 수는 리스트 형태로 내가 직접 설정할 수 있다.sns.displot(penguins, x="bill_length_mm", y="bill_depth_mm",
kind="kde", levels=[.01, .05, .1, .8])