seaborn은 matplotlib 기반 다양한 기능이 추가된 데이터 시각화 파이썬 라이브러리입니다.
seaborn이 제공하는 여러 그래프 타입의 예
- seaborn.lineplot()
- seaborn.barplot()
- seaborn.countplot()
- seaborn.scatterplot()
- seaborn.regplot()
- seaborn.boxplot()
- seaborn.histplot()
- seaborn.kdeplot()
- seaborn.heatmap()
seanborn은 시각화 기능 뿐만 아니라 아래와 같이 여러 데이터 셋을 제공하고 있으며, 캐글(kaggle.com) 등 다른 사이트에서 제공하고 있는 데이터 셋과도 연관이 됩니다.
import seaborn as sns
for d in sns.get_dataset_names():
print(d)
# --------------------------------------------------
# anagrams
# anscombe
# attention
# brain_networks
# car_crashes
# diamonds
# dots
# dowjones
# exercise
# flights
# fmri
# geyser
# glue
# healthexp
# iris
# mpg
# penguins
# planets
# seaice
# taxis
# tips
# titanic
데이터 셋 중 'tips'는 아래와 같이 244개의 행, 7개의 열로 구성되어 있는 데이터 셋입니다.
- total_bill 열 (빌)
- tip 열 (팁)
- sex 열 (성별)
- smoker 열 (흡연)
- day 열 (요일)
- time 열 (시간대)
- size 열 (인원)
lineplot()
seaborn 제공 데이터 셋인 'tips'를 기반으로 lineplot()을 이용해 그래프를 그립니다.
import seaborn as sns
import matplotlib.pyplot as plt
df = sns.load_dataset('tips')
sns.lineplot(x=df['day'], y=df['tip'])
plt.show()
barplot()
seaborn 제공 데이터 셋인 'tips'를 기반으로 barplot()을 이용해 그래프를 그립니다.
import seaborn as sns
import matplotlib.pyplot as plt
df = sns.load_dataset('tips')
sns.barplot(x=df['day'], y=df['tip'])
plt.show()
countplot()
seaborn 제공 데이터 셋인 'tips'를 기반으로 countplot()을 이용해 그래프를 그립니다.
import seaborn as sns
import matplotlib.pyplot as plt
df = sns.load_dataset('tips')
sns.countplot(x=df['day'])
plt.show()
scatterplot()
seaborn 제공 데이터 셋인 'tips'를 기반으로 scatterplot()을 이용해 그래프를 그립니다.
import seaborn as sns
import matplotlib.pyplot as plt
df = sns.load_dataset('tips')
sns.scatterplot(x=df['total_bill'],
y=df['tip'],
hue=df['sex'],
size=df['size'])
plt.show()
regplot()
seaborn 제공 데이터 셋인 'tips'를 기반으로 regplot()을 이용해 그래프를 그립니다.
import seaborn as sns
import matplotlib.pyplot as plt
df = sns.load_dataset('tips')
sns.regplot(x=df['total_bill'], y=df['tip'], scatter=True, ci=95)
plt.show()
boxplot() & violinplot()
seaborn 제공 데이터 셋인 'tips'를 기반으로 boxplot() 및 violinplot()을 이용해 그래프를 그립니다.
import seaborn as sns
import matplotlib.pyplot as plt
df = sns.load_dataset('tips')
sns.boxplot(x=df['day'], y=df['tip'])
plt.show()
import matplotlib.pyplot as plt
import seaborn as sns
df = sns.load_dataset('tips')
sns.violinplot(x=df['day'], y=df['tip'])
plt.show()
histplot()
seaborn 제공 데이터 셋인 'tips'를 기반으로 histplot()을 이용해 그래프를 그립니다.
import seaborn as sns
import matplotlib.pyplot as plt
df = sns.load_dataset('tips')
sns.histplot(data=df['total_bill'], kde=True) # kde : kernel density estimation
plt.show()
kdeplot()
seaborn 제공 데이터 셋인 'tips'를 기반으로 kdeplot()을 이용해 그래프를 그립니다.
import seaborn as sns
import matplotlib.pyplot as plt
df = sns.load_dataset('tips')
sns.kdeplot(data=df['total_bill'])
plt.show()
import matplotlib.pyplot as plt
import seaborn as sns
df = sns.load_dataset('tips')
sns.kdeplot(data=df['total_bill'],
data2=df['tip'],
shade=True)
plt.show()
heatmap()
seaborn 제공 데이터 셋인 'tips'를 기반으로 heatmap()을 이용해 그래프를 그립니다.
import seaborn as sns
import matplotlib.pyplot as plt
df = sns.load_dataset('tips')
pivot_df = df.pivot_table(values='tip', index='day', columns='size')
print(pivot_df)
sns.heatmap(data=pivot_df, annot=True)
plt.show()
jointplot()
seaborn 제공 데이터 셋인 'tips'를 기반으로 jointplot()을 이용해 그래프를 그립니다.
import matplotlib.pyplot as plt
import seaborn as sns
df = sns.load_dataset('tips')
joint = sns.jointplot(x=df['total_bill'], y=df['tip'])
# joint = sns.jointplot(x=df['total_bill'], y=df['tip'], kind='hex')
joint.fig.suptitle('seaborn.jointplot')
joint.set_axis_labels(xlabel='Totoal Bill', ylabel='Tip')
plt.show()
matplotlib를 이용한 다수 그래프 출력
import matplotlib.pyplot as plt
import seaborn as sns
df = sns.load_dataset('tips')
fig, axs = plt.subplots(nrows=2, ncols=2)
fig.set_size_inches(16, 9)
sns.lineplot(x=df['day'], y=df['tip'], ax=axs[0][0])
sns.countplot(x=df['day'], ax=axs[0][1])
sns.regplot(x=df['total_bill'], y=df['tip'], ax=axs[1][0])
sns.kdeplot(data=df['total_bill'], ax=axs[1][1])
plt.show()
'코딩 > 파이썬과 데이터 사이언스' 카테고리의 다른 글
파이썬과 데이터 사이언스 : seaborn 제공 mpg 및 그외 데이터셋 (0) | 2022.09.08 |
---|---|
파이썬과 데이터 사이언스 : pandas로 CSV 파일 읽어올 때 encoding 문제 해결 (0) | 2022.09.04 |
파이썬과 데이터 사이언스 : matplotlib 라이브러리 (0) | 2022.09.02 |
파이썬과 데이터 사이언스 : pandas 라이브러리 (0) | 2022.08.22 |
파이썬과 데이터 사이언스 : NumPy 라이브러리 (0) | 2022.08.21 |