바뀜

둘러보기로 가기 검색하러 가기
2,798 바이트 추가됨 ,  2023년 2월 1일 (수) 22:39
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>
 +
|}
    
= 문제사항 =
 
= 문제사항 =

둘러보기 메뉴