1 개요
Matplotlib을 기반으로 통계용 차트를 위해 만들어진 라이브러리.
2 사용
2.1 그래프 그리기
의도 | 설명 | 방법 | ||||||
---|---|---|---|---|---|---|---|---|
산점도 | 두 변수 간 관계성을 살필 때 사용.
|
import seaborn as sns
sns.scatterplot(data = df, x='열', y='열2')
| ||||||
선그래프 | 시계열이나 변수에 따라 연속적으로 변하는 그래프를 그릴 때.
|
df = df.to_datetime(df['시계열']) # 보통 시계열 그래프를 그릴 땐 시간데이터가 너무 길어 x축을 읽을 수가 없다.
sns.lineplot(data = df, x='시계열', y='열2')
| ||||||
박스그림 | x축에 따라 y가 어떻게 분포되어 있는지 보기 위해. | sns.boxplot(data=df, x='분류?', y='값')
| ||||||
막대그래프 | 막대그래프의 경우, 개개의 데이터를 보여주는 게 아니기 때문에 통계를 낸 후에 그린다.
보통 (count를 사용하는 경우엔 그냥 |
df = df_origin.groupby('x축에 둘 열이름', as_index=False) # 분류할 때 해당 열이 인덱스가 되지 않게끔.
# 보통은 분류 후에 평균값이나 최댓값 등을 계산하여 통계화 한 후에 그래프를 만든다.
df = df.agg(새로운열이름 = ('계산할열', 'mean')) # 새로운열이름은 따옴표로 감싸지 않음에 유의, mean 등 다양한 방식이 가능하다.
df = df.sort_values('새로운열이름', ascending = True) # 보통은 정렬하여 그래프를 그린다.
sns.barplot(data = df, x='x축에 둘 열이름', y='새로운열이름')
| ||||||
이외 |
2.2 그래프 상세 설정
의도 | 설명 | 방법 |
---|---|---|
그래프 범위 설정 | plot = sns.scatterplot(data = df, x='열', y='열2') # 여기에 그냥 닷문법으로 이어서 지정할 수도 있음.
plot.set(xlim=(시작,끝)) # x축의 시작점과 끝점을 지정한다.
plot.set(ylim=(시작,끝)) # y축의 시작점과 끝점을 지정한다.
plot.set(xlim=(시작,끝), ylim=(시작,끝)) # 필요한 속성은 추가해 넣으면 된다.
|
3 문제사항
3.1 한글 내용이 안뜨는 경우
한글이 안뜨는 원인은 보통 해당 폰트가 한글을 지원하지 않기 때문이다.
의도 | 설명 | 방법 |
---|---|---|
폰트 목록 얻기 | 사용할 수 있는 폰트의 목록을 얻는다. | import matplotlib.font_manager as fm
font_list = [font.name for font in fm.fontManager.ttflist]
|
폰트 지정 | 위 리스트에서 얻은 폰트를 지정한다. | plt.rc('font', family='Gulim')
|