1번째 줄: |
1번째 줄: |
| == 개요 == | | == 개요 == |
| Matplotlib을 기반으로 통계용 차트를 위해 만들어진 라이브러리. | | Matplotlib을 기반으로 통계용 차트를 위해 만들어진 라이브러리. |
| + | |
| + | = 사용 = |
| + | |
| + | == 그래프 그리기 == |
| + | {| class="wikitable" |
| + | !의도 |
| + | !설명 |
| + | !방법 |
| + | |- |
| + | |산점도 |
| + | |두 변수 간 관계성을 살필 때 사용. |
| + | {| class="wikitable" |
| + | |+옵션 |
| + | !옵션 |
| + | !설명 |
| + | |- |
| + | |hue='열이름' |
| + | |두 변수 외에 다른 변수를 지정. |
| + | 새로이 지정한 변수값에 따라 다른 색을 입힌다. |
| + | |- |
| + | | |
| + | | |
| + | |} |
| + | |<syntaxhighlight lang="python"> |
| + | import seaborn as sns |
| + | |
| + | sns.scatterplot(data = df, x='열', y='열2') |
| + | </syntaxhighlight> |
| + | |- |
| + | |선그래프 |
| + | |시계열이나 변수에 따라 연속적으로 변하는 그래프를 그릴 때. |
| + | {| class="wikitable" |
| + | |+옵션 |
| + | !옵션 |
| + | !설명 |
| + | |- |
| + | |hue='열이름' |
| + | |두 변수 외에 다른 변수를 지정. |
| + | 새로이 지정한 변수값에 따라 다른 색을 입힌다. |
| + | |
| + | 막대그래프를 한단계 더 나눌 수 있다.(값이 너무 많아지면 그래프 해석에 무리가 생길 수 있다.) |
| + | |} |
| + | |<syntaxhighlight lang="python"> |
| + | df = df.to_datetime(df['시계열']) # 보통 시계열 그래프를 그릴 땐 시간데이터가 너무 길어 x축을 읽을 수가 없다. |
| + | sns.lineplot(data = df, x='시계열', y='열2') |
| + | </syntaxhighlight> |
| + | |- |
| + | |박스그림 |
| + | |x축에 따라 y가 어떻게 분포되어 있는지 보기 위해. |
| + | |<syntaxhighlight lang="python"> |
| + | sns.boxplot(data=df, x='분류?', y='값') |
| + | </syntaxhighlight> |
| + | |- |
| + | |막대그래프 |
| + | |막대그래프의 경우, 개개의 데이터를 보여주는 게 아니기 때문에 통계를 낸 후에 그린다. |
| + | 보통 <code>agg()</code>를 통해 mean이나 count를 사용한다. |
| + | |
| + | (count를 사용하는 경우엔 그냥 <code>sns.countplot</code>을 사용하는 게 빠르다.) |
| + | |<syntaxhighlight lang="python"> |
| + | 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='새로운열이름') |
| + | </syntaxhighlight> |
| + | |- |
| + | |이외 |
| + | | |
| + | | |
| + | |} |
| + | |
| + | == 그래프 상세 설정 == |
| + | {| class="wikitable" |
| + | !의도 |
| + | !설명 |
| + | !방법 |
| + | |- |
| + | |그래프 범위 설정 |
| + | | |
| + | |<syntaxhighlight lang="python"> |
| + | plot = sns.scatterplot(data = df, x='열', y='열2') # 여기에 그냥 닷문법으로 이어서 지정할 수도 있음. |
| + | plot.set(xlim=(시작,끝)) # x축의 시작점과 끝점을 지정한다. |
| + | plot.set(ylim=(시작,끝)) # y축의 시작점과 끝점을 지정한다. |
| + | plot.set(xlim=(시작,끝), ylim=(시작,끝)) # 필요한 속성은 추가해 넣으면 된다. |
| + | </syntaxhighlight> |
| + | |} |
| | | |
| = 문제사항 = | | = 문제사항 = |