학습 목표
- 선그래프인 lineplot과 pointplot을 그려봅니다.
- lineplot과 pointplot의 차이를 이해합니다.
핵심 키워드
- lineplot()
- pointplot()
학습하기
학습 목표
- 선그래프인 lineplot과 pointplot을 그려봅니다.
- lineplot과 pointplot의 차이를 이해합니다.
핵심 키워드
- lineplot()
- pointplot()
학습하기
학습 내용
barplot을 lineplot과 pointplot으로 그려봅니다.
사용법은 간단합니다. barplot을 lineplot으로 바꿔주면 됩니다.
lineplot
plt.figure(figsize=(15,4)
sns.lineplot(data=df, x="연령대코드(5세단위)", y="체중(5Kg 단위)", hue="성별코드")
연령대가 높아질수록 체중이 낮아진다는 것을 볼 수 있습니다.
y축은 평균입니다.
lineplot은 편차와 신뢰구간을 그림자로 표현합니다. 그래프 뒤쪽에 그림자가 없는 이유는 모수가 적어서 편차를 그릴 게 없기 때문입니다.
결과 :
plt.figure(figsize=(15,4)
sns.lineplot(data=df, x="연령대코드(5세단위)", y="신장(5Cm 단위)", hue="성별코드", ci="sd")
나이가 커질수록 신장이 조금씩 작아집니다.
결과 :
plt.figure(figsize=(15,4)
sns.lineplot(data=df, x="연령대코드(5세단위)", y="신장(5Cm 단위)", hue="음주여부", ci="sd")
키는 음주하고 있는 사람들이 약간 더 큰 편입니다.
결과 :
plt.figure(figsize=(15,4)
sns.pointplot(data=df, x="연령대코드(5세단위)", y="신장(5Cm 단위)", hue="음주여부", ci="sd")
pointplot은 막대를 통해 편차와 신뢰구간를 표현합니다.
결과 :
plt.figure(figsize=(15,4)
sns.lineplot(data=df, x="연령대코드(5세단위)", y="신장(5Cm 단위)", hue="음주여부", ci="sd")
sns.pointplot(data=df, x="연령대코드(5세단위)", y="신장(5Cm 단위)", hue="음주여부", ci="sd")
그래프를 같이 그릴 수도 있습니다.
결과 :
plt.figure(figsize=(15,4)
sns.pointplot(data=df, x="연령대코드(5세단위)", y="신장(5Cm 단위)", hue="성별코드", ci="sd")
결과 :
plt.figure(figsize=(15,4)
sns.pointplot(data=df, x="연령대코드(5세단위)", y="혈색소", ci=None)
결과 :
sns.pointplot(data=df, x="연령대코드(5세단위)", y="혈색소", hue="음주여부", ci=None)
연령대가 높아질수록 혈색소가 줄어들고 있습니다.
음주를 하면 혈색소가 평균적으로 더 높습니다.
결과 :
barplot은 막대로 개별값을 표현하는데 lineplot, pointplot을 통해서는 선으로 기울기까지 표현할 수 있습니다. 가격 데이터, 매출/재고 데이터는 대체로 lineplot, pointplot으로 그리는 것이 좋습니다.
comment
버젼차이 같은데,
ci 대신에 errorbar를 쓰면 파이썬이 잔소리를 안하네요
실제로 제가 돌렸을 때는 성별코드에서 0이 뜨지 않는데, 혹시 저 예시 그림에서 데이터가 건드려진게 아닐까 싶기도 합니다..
비공개 글입니다.
코드에서 figsize 뒤에 ) 를 넣어야 합니다.
lineplot에서만 성별코드에 '0'이 나타나는 이유는 뭘까요? barplot으로 그렸을 때는 1, 2밖에 없었던 것 같아서요... 궁금하네요^^