1. 시본 산점도 그래프
🍓 시본 산점도 그래프는 스트립 플롯 Strip Plot 그래프, 스웜 플롯 Swarm Plot 그래프 등이 있음
🍓 맷플롯립의 산점도 그래프처럼 모든 데이터를 점으로 표현하는데,
맷플롯립의 산점도보다 범주에 따른 각 분포의 실제 데이터나 전체 형상등을 보여 준다는 장점이 있음
1) 데이터 준비
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
data6 = pd.read_pickle('../output/data6.pickle')
# data6에서 남성 및 여성이 성별, 몸무게, 허리둘레, 음주 여부, 흡연 상태 데이터를 가져와
# male_data, female_data에 각각 저장
male_data = data6.loc[data6.gender == 'Male',
['gender', 'weight', 'waist', 'drinking', 'smoking']]
female_data = data6.loc[data6.gender == 'Female',
['gender', 'weight', 'waist', 'drinking', 'smoking']]
male_data.head()
'''
gender weight waist drinking smoking
0 Male 60 72.1 Non-drinking Non-smoking
3 Male 70 90.8 Non-drinking Non-smoking
5 Male 85 94.0 Drinking Smoking
6 Male 80 93.0 Drinking Smoking
7 Male 65 92.0 Non-drinking Smoking
'''
2) 시본 스트립 플롯 생성
🍬 stripplot() : 데이터 개수가 1개이고 변수의 종류가 연속적이거나 범주형인 데이터에 대해 간단히 요약하여 띠 형태로 보여준다
▶️ 상자수염 또는 바이올린 그래프를 보충하는 그래프로 많이 사용
🍬 일반적으로 작은 데이터를 다루는 용도로 사용되는데, 큰 데이터를 다룰 때는 주로 히스토그램 등을 많이 사용
plt.figure(figsize=(10, 5)) # 그래프의 크기를 지정
plt.title('Seaborn Strip Plot Graph') # 그래프의 제목을 지정
# stripplot() 함수로 허리 둘레 데이터를 x축에 지정, 몸무게 데이터를 y축에 각각 지정
sns.stripplot(data=male_data, x='waist', y='weight')
sns.stripplot(data=female_data, x='waist', y='weight')
# 허리둘레 최솟값, 최댓값
min(female_data['waist']) # 53
max(male_data['waist']) # 128
# x축 눈금 간격(눈금 개수는 총 127개)을 허리둘레의 최솟값(53)과 최댓값(128)을 중심으로 지정
plt.xticks(np.arange(0, 127, 63), labels=[53, 90.5, 128])
plt.show()
3) 팔레트 속성으로 색상 지정
🍬 시본의 색상 표현
- 시본 사이트 https://seaborn.pydata.org/tutorial/color_palettes.html#palette-tutorial
- 그래프 색상을 사용하는 원칙과 6개의 기본 팔레트 외에도 다양한 색상 팔레트를 확인할 수 있음
plt.figure(figsize=(10, 5)) # 그래프의 크기를 지정
plt.title('Seaborn Strip Plot Graph - Color Palette') # 그래프의 제목을 지정
# stripplot() 함수로 허리 둘레 데이터를 x축에 지정, 몸무게 데이터를 y축에,
# 성별을 hue 속성에 지정, 팔레트 종류 dark, Set1을 palette 속성에 각각 지정.
sns.stripplot(data=male_data, x='waist', y='weight', hue='gender', palette='dark')
sns.stripplot(data=female_data, x='waist', y='weight', hue='gender', palette='Set1')
plt.xticks(np.arange(0, 127, 63), labels=[53, 90.5, 128])
plt.show()
[ 내용 참고 : IT 학원 강의 ]
'Programming Language > Python' 카테고리의 다른 글
[Python] Seaborn | 상자 수염 Box Plot 그래프 (1) | 2024.03.15 |
---|---|
[Python] Seaborn | 산점도 그래프 - scatter plot (0) | 2024.03.15 |
[Python] Seaborn | 평균/빈도 막대 그래프 (0) | 2024.03.15 |
[Python] Seaborn 라이브러리 | 시본 막대 그래프 - sns.barplot() / add_subplot() (2) | 2024.03.14 |
[Python] Matplotlib | 한글 폰트 사용, 파이 그래프 (0) | 2024.03.14 |