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개의 기본 팔레트 외에도 다양한 색상 팔레트를 확인할 수 있음

 

Choosing color palettes — seaborn 0.13.2 documentation

Choosing color palettes Seaborn makes it easy to use colors that are well-suited to the characteristics of your data and your visualization goals. This chapter discusses both the general principles that should guide your choices and the tools in seaborn th

seaborn.pydata.org

 

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 학원 강의 ]

+ Recent posts