seaborn

솔비·2023년 12월 28일
0
post-thumbnail
post-custom-banner

Seaborn


Python의 대표적인 시각화 도구로 matplotlib와 함께 사용 | seaborn (통계 데이터 시각화)

  • seaborn은 matplotlib 대비 손쉽게 그래프를 그리고, 그래프 스타일 설정을 할 수 있음
    (matplotlib 기반 → matplotlib으로 커스텀(편집) 가능)
  • matplotlib에도 다양한 시각화 툴이 있지만, seaborn은 더 다양하고 다채로운 시각화 요소들이 존재함
    매력적이고 유익한 통계 그래픽을 그리기 위한 고급 인터페이스를 제공 (통계와 그래프 그리기를 동시에 가능)
    ➡️ seaborn에서만 제공되는 통계 기반 plot
    ➡️ 특별하게 꾸미지 않아도 깔끔하게 구현되는 기본 color(다양한 색상)
    ➡️ 더 아름답게 그래프 구현이 가능한 palette 기능(예쁜 디자인)
  • pandas 데이터프레임과 높은 호환성
    ➡️ hue option으로 bar 구분이 가능하며, xtick, ytick, xlabel, ylabel, legend 등이 추가적인 코딩 작업 없이 자동으로 세팅됨



1. 설치


!conda install -y seaborn
or
pip install seaborn

import matplotlib.pyplot as plt
import seaborn as sns


from matplotlib import font_manager as fm
from matplotlib import pyplot as plt

#한글폰트 깨짐 해결
font_path = "C:\Windows\Fonts\Arial.ttf"
font= fm.FontProperties(fname=font_path).get_name()
plt.rc('font', family = font)

#마이너스부호 깨짐 해결
import matplotlib as mpl
mpl.rcParams['axes.unicode_minus'] = False



2. 실습


sns.set_style()
darkgrid, whitegrid, dark, white, ticks 등
그래프 배경을 고를 수 있음



sns.load_dataset()
seaborn을 익히기 위해 seaborn에서 제공하는 실습 dataset



예제 1.

seaborn tips data


  • tips = sns.load_dataset("tips")



1. boxplot

박스형태로 분포 시각화

🌟 hue 옵션 : bar구분

hue = "smoker"

🌟 palette 옵션 : 색상변경

palette = "Set2"



2. swarmplot

범주형 산점도 시각화

🌟 color 옵션 : 점의 색상

0에 가까울 수록 블랙 1에 가까울수록 화이트로 표시



1 + 2 boxplot + swarmplot



3. lmplot

적절한 상관계수를 확인할 때 사용

🌟 height 옵션 : 그래프 박스 크기



예제 2

seaborn flight data


  • flights = sns.load_dataset("flights")

  • flights = flights.pivot(index = "year",columns = "month", values = "passengers")



4. heatmap

🌟 annot 옵션 : 데이터 값 표시

False일경우 숫자 X

🌟 fmt 옵션 : 형표시

d : 정수 , f: 실수

🌟 cmap 옵션 : 색상변경



예제 3

iris data




5. pairplot

여러 그래프를 함께 그려 한눈에 비교하기 위한 그래프
변수의 모든 쌍별 조합을 동시에 시각화

hue- species옵션으로 bar표시 및 컬러까지 추가가능 !

🌟 원하는 컬럼만 확인할 때



예제4

anscombe data



Daily Study Note
참고 | https://velog.io/@parkmj9453/데이터-시각화-도구-seaborn
profile
Study Log
post-custom-banner

0개의 댓글