<4주차_4일> 시각화 도구 -seaborn

Nary Kim·2023년 5월 30일
0
post-thumbnail

seaborn

import matplotlib.pyplot as plt
import seaborn as sns

위와 같이 import하며 alias로 sns를 보통 사용한다.
seaborn에서는 boxplot, swarmplot, lmplot, heatmap을 배운다.

boxplot

우선 seaborn 에서 제공하는 tips라는 데이터를 불러오자.

tips = sns.load_dataset("tips")
  • data 이름은 tips이고 거기에 totla_bill을 boxplot으로 그린다.
sns.boxplot(x = "total_bill",  data = tips)
plt.show()

  • day별로 total_bill을 그린다.
sns.boxplot(x = "day", y = "total_bill", data = tips)
plt.show()

  • hue : 추가적인 범주를 이용해서 세분화된 그래프를 그리고 싶을때 사용한다.
sns.boxplot(x = "day", y = "total_bill",  hue = "smoker", data = tips)
plt.show()

  • palette : 색깔바꾸기 (Set1 - Set3)
sns.boxplot(x = "day", y = "total_bill",  hue = "smoker", palette = "Set3", data = tips)
plt.show()

색에 관한 자세한 내용 확인

swarmplot

데이터를 점으로 표시해서 좀더 직관적으로 보이게 해주는 함수이다.

sns.swarmplot(x="day",y="total_bill", data=tips, color=".5")
plt.show()

  • boxplot과 같이 그리면 더 직관적인 그림을 보여준다.

lmplot

matplotlib를 이용하기 위해서는 다항식의 계수를 구한수 다시 다항식을 만들어서 x값을 넣는 작업을 해야했는데, lmplot은 바로 산점도 그래프와 그에 대응하는 직선 혹은 곡선까지도 그려줘 아주 편리한 함수이다.

sns.lmplot(x = "total_bill", y = "tip", data = tips)
plt.show()

sns.lmplot(x = "total_bill", y = "tip", data = tips, lowess=True)
plt.show()

heatmap

데이터의 값을 컬러로 변환시켜 온도의 변화와 같은 모습으로 나타내주어 시각적으로 뛰어난 자료를 만들어주는 함수이다.

다음은 비행에 대한 데이터를 가지고 month별, year별로 데이터의 값과 그에 대응하는 컬러를 나타내주고 있다. 연도가 지날수록 비행이 많아지고 여름일수록 비행이 많아짐을 한눈에 알아볼 수 있다.

flights= sns.load_dataset("flights")
plt.figure(figsize=(5,4))
sns.heatmap(flights, annot=True, fmt="d", cmap="YlGnBu")
plt.show()

pairplot

비교할 데이터 변량에 대한 그래프를 subplot의 방법으로 한번에 그려주어서 서로의 상관관계를 바로 알아볼수 있게 표현해주며, hue를 이용하면 더 풍부하게 그래프를 그릴 수 있다.

다음은 iris 씨앗의 특징에 관한 것인데, 시각화를 통하여 파란색 점들에 속한 씨앗들은 몇개의 변량만으로 바로 구분하여 분류할 수 있음을 추측할 수 있다.

iris = sns.load_dataset("iris")
sns.pairplot(iris, hue="species")
plt.show()

profile
나는 무엇이 될것인가!!

0개의 댓글