반응형
seoborn 패키지는 matplotlib기반하였고 다양한 색상 테마와 통계용 차트 등의 기능을 추가한 시각화 패키지, maptplotlib보다 높은 수준의 인터페이스를 제공하여 사용자들이 쉽게 데이터를 분석하고 시각화할 수 있습니다.
seobor 라이브러리는
matplotlib기반이고 고급스러운 시각화를 쉽게 그릴 수 있음
seoborn은 다양한 dataset이 제공되는데 어떤 데이터셑이 있는지 확인하고, tips데이터 셑을 이용하여 시각화하도록 하겠습니다.
import seaborn as sns sns.get_dataset_names() #데이터 셑 이름을 가져오기 |
아래의 글은 seoborn 공식 홈페이지의 튜토리얼을 참고하여 작성하였습니다.
https://seaborn.pydata.org/tutorial.html
scatter plot 작성하기
- 샘플데이터 tips를 불러오고 확인하였고, tips데이터의 변수는 식사비용(total_bill), 성별(sex), 흡연유무(smoker), 요일(day), 시간(time), 규모(size), 팁(tip) 이 있습니다.
import seaborn as sns import matplotlib.pyplot as plt import numpy as np import pandas as pd data = sns.load_dataset('tips') #tips샘플데이터를 불어온다 data |
- x축은 total_bill, y축은 tip으로 설정하여 scatterplot()를 이용하여 산점도를 그립니다.
sns.scatterplot(x='total_bill', y='tip', data=data)
|
Hue
- 점이 색을 통해 의미를 가질수 있도록 하는 것입니다. 식사비와 팁이 선형관계를 가지고 있는데, 시간 또는 흡연여부에 따라 구분을 할 수 있습니다.
sns.scatterplot(x='total_bill', y='tip', data=data, hue="time") |
sns.scatterplot(x='total_bill', y='tip', data=data, hue="size") |
- hue 설정하는 변수가 범주형이나 계량형이냐에 따라 색상지정이 차이가 난다. 계량형 데이터는 sequential palette로 표현됩니다. color palette를 설정하여 변경할 수 있습니다.
https://seaborn.pydata.org/tutorial/color_palettes.html
sns.scatterplot(x='total_bill', y='tip', data=data, hue="size", palette="YlOrBr") |
sns.scatterplot(x='total_bill', y='tip', data=data, hue="time", style="smoker", size="size", palette="YlOrBr")
|
2차원 복합데이터
- 데이터가 하나는 범주형이고 하나는 계량형 데이터가 혼합(복합)되었다면 범주형(그룹별)으로 barplot, boxplot, violinplot 등을 표수 할 수 있습니다.
sns.barplot(x="day", y="total_bill", data=data) |
- boxplot : 이상치 등 분포를 확인할 수 있습니다.
sns.boxplot(x="day", y="total_bill", data=data, palette="Set2") plt.title('boxplot') |
- violinplot: 커널 밀도 히스토드램을 표현해주며, 대칭정도를 확인해 줍니다.
sns.violinplot(x="day", y="total_bill", data=data, palette="Paired")
plt.title('ViolinePlot ')
|
sns.violinplot(x="day", y="total_bill", hue="sex", data=data, palette="Set1")
plt.title('ViolinePlot ')
|
'파워 파이썬 > 패키지' 카테고리의 다른 글
판다스를 활용한 데이터 시각화 (0) | 2023.10.01 |
---|---|
강력한 pandas를 이용한 데이터 처리 2 (0) | 2023.10.01 |
강력한 pandas를 이용한 데이터 처리 1 (0) | 2023.10.01 |
데이타 시각화를 위한 도구 matplotlib (0) | 2023.09.26 |
numpy 패키지를 활용한 난수 생성 (0) | 2023.09.24 |