□ Seaborn과 Matplotlib은 둘 다 데이터 시각화를 위한 파이썬 라이브러리임
□ Seaborn은 Matplotlib을 기반으로 한 고수준의 인터페이스이며, 통계 그래픽을 쉽게 그릴 수 있도록 도와줌
□ Seaborn은 Matplotlib을 기반으로하여 더 간편한 문법을 제공하고, 예쁜 테마와 색상 팔레트를 제공하여 그래프를 빠르게 스타일링할 수 있도록 도와줌
□ Seaborn은 통계적 그래픽스에 특화되어 있어 회귀선, 박스 플롯, 히스토그램 등을 간단한 명령어로 그릴 수 있음
□ 히스토그램 시각화
○ seaborn에서 sbplot 사용시 두가지 값을 반환함
- 첫번째는 그림영역 즉, 틀을 생성
- 두번쨰는 그래프의 모든 객체
#라이브러리 호출
import seaborn as sns
import matplotlib.pyplot as plt
#데이터 호출
tips = sns.load_dataset('tips')
#틀 지정
sns.set_context('paper') # 인쇄에 적합한 paper로 설정
#plt.subplots()를 사용하여 figure와 axes를 동시에 생성
fig, ax = plt.subplots()
#sns.histplot()을 사용하여 히스토그램을 그림
sns.histplot(data=tips, x='total_bill', ax=ax)
#제목 지정
ax.set_title('Total Bill Histogram')
plt.show()
#틀 지정
fig, ax = plt.subplots()
#sns.kdeplot()을 사용하여 밀도 플롯을 그림
sns.kdeplot(data=tips, x='total_bill', ax=ax) #shift+tab을 누르면 무슨값이있는지 보임
#차트 제목 설정
ax.set_title('Total Bill Density')
#차트 x축 이름 지정
ax.set_xlabel('Total Bill')
#차트 y축 이름 지정
ax.set_ylabel('Unit Probability')
plt.show()
#틀 지정
fig, ax = plt.subplots()
#러그그래프 데이터 지정
sns.rugplot(data = tips, x='total_bill', ax=ax)
#히스토그램 데이터 지정
sns.histplot(data = tips, x='total_bill', ax=ax)
#차트 제목 지정
ax.set_title('Rug Plot and Histogram')
plt.show()
#히스토그램, 밀도 분포 그래프, 러그 그래프를 한번에 그림
fig = sns.displot(data=tips, x='total_bill',
kde=True, rug=True) #밀도그래프 kde = True, rug = True 지정
fig.set_axis_labels(x_var='Total Bill', y_var='Count')
#제목지정
fig.figure.suptitle('Distribution of Total Bill')
plt.show()
□ 막대그래프는 히스토그램과 비슷하지만 구간별로 나누어 분포를 표현하지 않고 막대로 이산변수의 개수를 표현한다는 데 차이가 있음
□ seaborn 에서는 막대그래프를 countplot이라고 함
count, ax =plt.subplots()
#데이터 설정
sns.countplot(data=tips, x='day', palette='viridis',ax=ax) #palette 막대그래프 색상
#제목 설정
ax.set_title('Count of days')
#x축 이름 지정
ax.set_xlabel('Day of the Week')
#y축 이름 지정
ax.set_ylabel('Frequency')
#데이터 호출
tips = sns.load_dataset('tips')
#이변량 그래프 그리기
scatter, ax = plt.subplots() #틀과 그래프 객체 지정
#데이터 및 필드 지정
sns.scatterplot(data=tips, x='total_bill', y='tip',ax=ax)
ax.set_title('Scatter Plot of Total Bill and Tip')
ax.set_xlabel('Total Bill')
ax.set_ylabel('Tip')
plt.show()
#라이브러리 호출
import seaborn as sns
import matplotlib.pyplot as plt
#데이터 호출
tips = sns.load_dataset('tips')
#육각그래프
hexbin = sns.jointplot(data=tips,x='total_bill',y='tip',kind='hex') #kin='hex'를 활용해 육각형표시
hexbin.set_axis_labels(xlabel='Total Bill',ylabel='Tip')
hexbin.figure.suptitle('Hexbin Joint PLlot of Total Bill', y=1.03)
plt.show()
□ 산술평균 막대그래프
○ 산술평균이란 데이터 집합의 모든 값의 합을 데이터의 개수로 나눈 값으로 주로 "평균"이라고 부름
#라이브러리 호출
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
#데이터 호출
tips = sns.load_dataset('tips')
fig, ax = plt.subplots()
sns.barplot(data=tips, x='time', y='total_bill', estimator=np.mean, ax=ax)
ax.set_title('Bar Plot of Average Total Bill for Time of Day')
ax.set_xlabel('Time of Day')
ax.set_ylabel('Average Total Bill')
plt.show()
□ 박스플롯 : 박스 그래프는 최소값, 1사분위수, 중앙값, 3가분위수, 최대값, 이상값 등 다양한 통계량을 한번에 표현
○ sns.boxplot()의 매개변수 y는 생략가능
○ 매개변수 x에는 반드시 지정 열과 같은 변수로 지정해야함
'Python > seaborn & matplotlib' 카테고리의 다른 글
countplot 차트 (+glob함수로 다중 데이터 불러오기) (0) | 2024.02.07 |
---|---|
파이형 그래프 (feat. 한글출력/폰트설정) (0) | 2024.02.06 |
다변량 그래프 (1) | 2024.02.06 |
이산변수 / 박스 그래프 그리기 (0) | 2024.02.06 |
일변량 / 이변량 시각화 (0) | 2024.02.06 |