# 코드잇 데이터 사이언스 강의 듣는 중
- seaborn이랑 그냥 plot이랑 왔다갔다 하다보면 다소 헷갈린다.
- 틀릴 수도 있는데 일단 우선 내가 해보면서 느낀 것은 다음과 같다.
seaborn | matplotlib 기반 pandas plot |
- sns.00plot(data =, x='', y='') - sns를 객체로 가져오고, - 플롯 종류를 메소드로 써주고 데이터 프레임을 파라미터로 받음. + catplot으로 여러 가지 열을 합쳐서 보고 싶은 경우에는 kind= 를 파라미터로 넣어서 어떤 그래프로 그릴 것인지 입력해줘야 함. ++ 다만 파라미터가 1개일 경우에는 같은 듯.. 사실 두 방법 다 될 때도 있어서.. 어쩌잔건지 머리아픔. 예, sns.kdeplot(df['registered'], bw=0.1) == sns.kdeplot(data=df, x='registered', bw_method=0.1) |
- df.plot(kind ='', x ='', y='') - 플롯 종류를 kind로 파라미터에 넣어주고, - 객체로 데이터 프레임을 가지고 옴. - x와 y값은 플롯에 따라서 필요할 때마다 넣어주면 됨. |
- 기본적인 barplot
sns.barplot(data=df, x='month', y='total')
- 기존적으로 erorrbar가 추가되어서 나타남.
- 원래 df의 로우가 일별로 1년치임 365일인데,
month 벡터로 구분되어 있었고, x의 파라미터로 month를 넘겼기 때문에 이렇게 그려짐.
<스타일 설정하기>
- .set_theme() --> 주제에 맞춰서 그래프를 꾸며줌.
- 다시 흰 배경으로 돌려주고 싶으면 style= 'white' 넣어주면 됨.
- style= 'dark' 는 배경이 가로 선 없는 회색바탕
- style= 'whitegrid' 는 배경이 가로 줄 있는 흰색바탕
--> 개인적으로 얘가 좋음
--> 읽기가 편한 느낌임.
- style= 'ticks' 는 흰색 바탕 그래프에 x축과 y축 눈금
- errorbar = None --> 에러바 사라짐.
sns.set_theme()
sns.barplot(data=df, x='month', y='total', errorbar=None)
--> 스타일 지정 안하면,
뒷 배경이 회색이되고 로우에 맞춰서 흰색 가로선이 나눠짐(디폴트가 darkgrid).
<폰트 설정하기>
- .set_theme() --> 주제에 맞춰서 그래프를 꾸며줌.
- seaborn에 한글 폰트가 없기 때문에 지정해줘야 함.
# Windows
set_theme(style='white', font='Malgun Gothic')
# Mac
set_theme(style='white', font='AppleGothic')
+ 맥도 맑은고딕 입력해도 가능한데 애플고딕이랑 차이를 느낄 수 없었음.
- 폰트 크기 조정은 font_scale= 을 바꿔주면 됨. (디폴트가 1임)
sns.set_theme(rc={'figure.figsize': (8, 4)}, style='whitegrid', font_scale=1.5)
sns.lineplot(data=df, x='month', y='casual', errorbar=None, hue='workingday')
--> 글씨 커짐.
<팔레트 설정하기>
- .set_theme() --> 주제에 맞춰서 그래프를 꾸며줌.
- 팔레트 처럼 지정된 색깔들이 나옴
sns.barplot(data=df, x='month', y='total', palette='pastel')
--> pastel 너무 귀여움
--> muted, bright, dark, colorblind 등
--> 디폴트 값은 deep임
<그래프 크기 조절하기>
- sns.set_theme(rc = {'figure.figsize' : (가로, 세로)}) --> 인치를 기준으로 조절할 수 있음.
sns.set_theme(rc={'figure.figsize': (8, 4)}, style='white')
sns.barplot(data=df, x='month', y='total', errorbar=None)
--> rc 파라미터에 딕셔너리를 넘기면 되는 데 키는 figure.figsize고 밸류 값에 가로, 세로 길이를 순서대로 넣으면 됨.
<이산형 변수 표현 가능>
- hue로 이산형 discrete 변수들을 간단하게 볼 수 있음.
- .plot()의 매개 변수로 hue=''를 넣어주면 됨
sns.set_theme(rc={'figure.figsize': (8, 4)}, style='white')
sns.barplot(data=df, x='month', y='total', errorbar=None, hue='workingday')
- 이산 변수인 working day를 한눈에 볼 수 있게 비교해줌.
--> 해석도 해보면 이건 전체에서 평일과 주말에 자전거를 타는 것을 의미함.
--> 5-6월, 9-10월에 날이 좋을 때만 거의 주말에 자전거를 더 많이 탐.
--> y값을 바꾸면?
- 자전거 대여를 가입해서 타는 사람들을 기준으로 보면
sns.set_theme(rc={'figure.figsize': (8, 4)}, style='white')
sns.barplot(data=df, x='month', y='registered', errorbar=None, hue='workingday')
--> working day에 훨씬 많이 탐.
- 자전거를 필요할 때만 타는 사람 기준으로는,
sns.set_theme(rc={'figure.figsize': (8, 4)}, style='white')
sns.barplot(data=df, x='month', y='casual', errorbar=None, hue='workingday')
---> 주말에 훨씬 많이 탐.
--> 이렇게 데이터를 비교하면서 보기 좋음.
- 똑같은 경우를 line plot으로만 바꿔서 볼 수도 있음.
sns.set_theme(rc={'figure.figsize': (8, 4)}, style='white')
sns.lineplot(data=df, x='month', y='casual', errorbar=None, hue='workingday')
--> 이게 더 극명하긴함.
- 고점을 이어서 만들기 때문
'Data Science > Visualization' 카테고리의 다른 글
[elice 시각화] matplotlib 연습 필요 2 (0) | 2025.03.22 |
---|---|
[elice 시각화] matplotlib 구현을 혼자 못함.. 연습할 것. (0) | 2025.03.22 |
[Seaborn] dist plot, violin plot, 등고선, lm plot, cat plot, strip plot (2) | 2024.06.02 |
[Seaborn] Macbook Air의 jupyter notebook에서 seaborn import 에러 (0) | 2024.06.01 |
[matplotlib] graph 제목 붙이기, 사이즈 조절, 한글 제목 넣기 (0) | 2024.05.31 |