Seaborn 이용한 데이터 시각화 코드 정리
라이브러리 불러오기
# anaconda 를 설치하게 되면, 다양한 패키지들이 함께 설치됨
# 그러나 이후에 패키지 업데이트를 위해서는 아래와 같은 작업이 필요함
!pip install -U seaborn
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
seaborn에서 제공하는 기본 dataset의 목록은 sns.get_dataset_names
로 확인
흔히 사용되는 iris
데이터를 이용해 보자
# dataset load
sns.load_dataset('iris')
150행 5열의 데이터가 로드되었다.
iris = sns.load_dataset('iris')
iris
변수에 불러온 데이터를 넣어주었다.
또한 데이터 종류마다 적용 가능한 차트의 종류가 다르니
총 4종의 데이터를 불러왔다.
titanic = sns.load_dataset('titanic')
diamonds = sns.load_dataset('diamonds')
tips = sns.load_dataset('tips')
histogram : sns.hisplot
x
인자를 사용하면 수직 히스토그램, y
인자를 사용하면 수평 히스토그램 그려짐
예시는 아래와 같다
sns.histplot(data = titanic, x='age', bins = 16)
plt.show()
위 그래프는 기본 형태인데, https://seaborn.pydata.org/generated/seaborn.histplot.html
에서 제공하는 다양한 parameter
을 조작해 그래프를 다채롭게 만들 수 있다.
예를 들어 hue
parameter
의 key
값을 survived
로 설정하면,
sns.histplot(data = titanic, x='age', bins = 16, hue = 'survived')
plt.show()
위와 같은 도표를 출력하게 된다.
densityplot : sns.kdeplot
sns.kdeplot(data = titanic, x = 'Age')
plt.show()
sns.kdeplot(data = titanic, x = 'age', hue = 'survived', common_norm = False)
plt.show()
boxplot : sns.boxplot
sns.boxplot(data = titanic, x = 'age')
plt.show()
sns.boxplot(data = titanic, y = 'age', x = 'survived')
plt.show()
https://seaborn.pydata.org/generated/seaborn.jointplot.html
sns.jointplot(x='petal_length', y='petal_width', data = iris)
plt.show()
sns.jointplot(x='petal_length', y='petal_width', data = iris, hue = 'species')
plt.show()
https://seaborn.pydata.org/generated/seaborn.regplot.html
sns.regplot(x='petal_length', y='petal_width', data = iris)
plt.show()
https://seaborn.pydata.org/generated/seaborn.pairplot.html
sns.pairplot(iris, hue = 'species')
plt.show()
https://seaborn.pydata.org/generated/seaborn.heatmap.html
temp1 = titanic.groupby(['embarked','pclass'], as_index = False)['alive'].count()
temp2 = temp1.pivot('embarked','pclass', 'alive')
sns.heatmap(temp2, annot = True)
plt.show()
# parameter 이용해 값을 정수로, 구간 간격을 살짝 벌려서 그리려면?
sns.heatmap(temp2, annot = True, fmt = 'd', linewidth = .2)
plt.show()
데이터 분석에 자주 이용되는 도표 몇 가지를 대표적으로 기록해보았는데, 앞으로 각 plot
마다 변경할 수 있는 parameter
에는 무엇이 있는지, 또 어떤 조건에서 주로 사용되는지 하나씩 저장해보려 한다.