seaborn은 matplotlib로 바로 그린 그래프보다 가독성이 좋고, 폭 넓은 커스터마이징이 가능해서 애용하는 시각화 라이브러리다. set_theme()를 통해 배경, 폰트와 같은 기본 설정을 할 수 있고, set_palette()를 통해 그래프 컬러 조합을 선택할 수 있다.
seaborn palette 예시
# 시각화 환경 세팅
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
sns.set_theme(style='whitegrid', font_scale=1.5)
sns.set_palette('Set2', n_colors=10)
plt.rc('font', family='malgun gothic')
plt.rc('axes', unicode_minus=False)
df = pd.read_pickle('data/03_seoul_accident_full.pkl')
df.head()
사고번호 사고년도 사고월 사고일 사고시각 사고요일 시군구_대범주 시군구_소범주 사고내용 사망자수 ... 피해운전자차종 피해운전자남성여부 피해운전자연령 피해운전자상해정도 주말여부 대형사고여부 고속국도사고여부 음주사고여부 무면허사고여부 뺑소니사고여부
0 A2019010100100001 2019 1 1 0.000000 1 강서구 강서구 방화동 경상사고 0 ... 보행자 True 40 경상 False 0.0 0.0 0.0 0.0 0.0
1 A2019010100100002 2019 1 1 0.000000 1 구로구 구로구 고척동 경상사고 0 ... 승용 True 71 경상 False 0.0 0.0 0.0 0.0 0.0
2 A2019010100100003 2019 1 1 0.000000 1 서초구 서초구 서초동 경상사고 0 ... 화물 True 51 경상 False 0.0 0.0 0.0 0.0 0.0
3 A2019010100100019 2019 1 1 0.041667 1 중구 중구 회현동2가 경상사고 0 ... 승용 True 62 경상 False 0.0 0.0 0.0 0.0 0.0
4 A2019010100100020 2019 1 1 0.041667 1 성동구 성동구 행당동 경상사고 0 ... 보행자 True 32 경상 False 0.0 0.0 0.0 0.0 0.0
Barplot()
barplot()은 기본적으로 bar 그래프의 형태를 띄고 있으며, x축에 범주형 변수를 선언하고 y축에 수치형 변수를 선언해 해당 x축 범주 별 평균 y축 수치를 나타낸다. 그래프의 상단 가운데 위치한 굵은 실선은 error line으로, 오차범위를 나타낸다. 데이터의 양이 많을수록 짧게 표시되며 신뢰할 수 있는 그래프라는 의미를 지닌다. 반대로 표본이 적어 신뢰도가 떨어지는 경우 실선의 길이가 길어진다. 표시하고싶지 않다면 errwidth=0으로 설정하면 된다.
plt.figure(figsize=(10,10))
sns.barplot(y='중상자수', data=df);
plt.figure(figsize=(15,10))
sns.barplot(x='사고유형_대범주', y='중상자수', data=df);
plt.figure(figsize=(15,10))
sns.barplot(x='사고유형_대범주', y='중상자수', hue='가해운전자남성여부', data=df);
plt.figure(figsize=(15,10))
plt.xticks(rotation=90)
sns.barplot(x='가해운전자차종', y='음주사고여부', data=df);
'빅데이터분석👨💻' 카테고리의 다른 글
[Python] 분포 확인 그래프 (2) - boxplot() (2) | 2024.01.02 |
---|---|
[Python] 분포 확인 그래프 (1) - displot() (1) | 2023.12.28 |
[Python] 범주형 변수의 빈도 시각화 - Countplot() (0) | 2023.12.26 |
[Python] 빅데이터분석 시각화 - 그래프 그리기 (Matplotlib 활용) (2) | 2023.12.21 |
[Python] 빅데이터분석 시각화 - 그래프 그리기 (Matplotlib) (0) | 2023.12.20 |