
facegrid() 함수를 사용하여 레이아웃을 변경할 수 있다.막대 그래프를 그리는 함수로는 countplot()과 barplot()이 있다.
countplot()은 항목 별 개수로 막대 그래프를 그리며, pd.values_counts()를 시각화하는 역할이라고 할 수 있다.
barplot()은 y축 값들의 평균을 막대 높이로 나타내며, 오차 막대를 default로 포함한다.
import matplotlib.pyplot as plt
import seaborn as sns # seaborn은 보통 sns로 alias하여 import한다
# 데이터 가져오기
tips = sns.load_dataset('tips')
sns.countplot(data=tips, x='day')
plt.show()
결과
sns.barplot(x = tips['sex'], y = tips['tip'])
plt.show()
결과
함수의 hue를 설정하면 해당 특성의 범주 별로 그래프를 그린다.
sns.countplot(data=tips, x='day', hue='smoker')
plt.show()
결과
연속형 데이터의 히스토그램을 그리기 위해서는 histplot() 함수를 사용하면 된다.
sns.histplot(x='total_bill', data=tips)
plt.show()
결과
숫자형 데이터의 사분위수를 표현하는 박스 플롯을 그리기 위해서는 boxplot() 함수를 사용하면 된다.
박스 플롯에서도 hue를 설정할 수 있다.
sns.boxplot(data=tips, y='tip', hue='time')
결과
바이올린 플롯은 박스 플롯과 비슷한 정보를 나타내지만, 그래프의 폭으로 데이터의 분포도 함께 확인할 수 있다.
sns.violinplot(data=tips, x='day', y='tip', hue='smoker', split=True)
결과
히트맵은 heatmap() 함수를 이용해 얻을 수 있으며, 이는 데이터 간의 상관계수를 나타내는 데 사용할 수 있다.
df = tips.select_dtypes(['number']) # 수치 데이터 얻기
x = df.corr() # 상관계수
sns.heatmap(x, annot = True, cmap = 'viridis')
plt.show()
결과
페어 플롯은 격자 형태로 각 column 조합에 대한 히스토그램과 분포도를 나타낸다. 페어 플롯은 pairplot() 함수를 이용하여 얻을 수 있다.
iris = sns.load_dataset('iris') # 데이터 가져오기
sns.set_style('white')
sns.pairplot(iris, hue='species')
plt.show()
결과