Seaborn : lineplot&pointplot

2022. 7. 3. 21:19Data Science/with Python(Numpy, Pandas …ect.)

 

Lineplot

단어 그대로 선 그래프로 특정 데이터를

x, y로 표시하여 관계를 확인할 수 있는 plot이다.
수치형 지표들 간의 경향을 파악할 때 많이 사용한다.

# penguin 데이터에 lineplot을 출력.
sns.lineplot(data=penguins, x="body_mass_g", y="flipper_length_mm", hue="species")

선이란 특성상 x,y 값을 바꿔도 뒤집혔다는

느낌보단 x에 따른 y의 차이, 편차에 따라

이분포 느낌이 다르다.

sns.lineplot(data=penguins, y="bill_length_mm", x="bill_depth_mm", hue="species")

어떤 조합이냐에 따라 다양한 정보를 얻을 수 있다.

이와 같이 어떤 값에 따라 다른 값이 어떻게 변하는지

그 변화 추이를 관찰하기에 용이한 기법이다.

 

 

Pointplot

특정 수치 데이터를 error bar와 함께 출력해주는

plot으로 선 뿐만 아니라 각 포인트 별 얼마나

차이가 나는지 보여주는 plotting 방법이다.


수치 데이터를 다양한 각도에서 한 번에

바라보고 싶을 때 사용하고, 데이터와 error bar를

한 번에 찍어주기 때문에 살펴보고 싶은

특정 지표들만 사용하는 것이 좋다.

# penguin 데이터에 pointplot을 출력.
sns.pointplot(data=penguins, x="flipper_length_mm", y="sex", hue="species")

pointplot은 x값만 대입했을 때에는

결국 전체를 다 찍기 때문에

의미 없는 선분만 출력한다.

그러면 plotting하는 의미가 없으므로

y값까지 온전하게 주면 아래와 같이 나온다.

각 성별로 어디쯤 찍혀있는지,

그리고 그 둘은 얼마나 차이가

나는지 선분으로 연결된 모습을

확인할 수 있다.

x, y값의 위치를 바꾸면

위처럼 그래프가 바뀐다.

 

가운데 선을 이어주는 이유는

pointplot들 간의 차이를 보여주기 위한

시각화 기법이기 때문에 두 point의

차이가 크면 클수록 기울기도 커진다.

 

그래서 pointplot은 내가 원하는 정보,

종류 정보에 대해서 얼마만큼의 차이가

있느냐를 보는 것이다.