오늘은 Matplot, Seaborn 라이브러리를 이용하여 데이터를 시각화 하는 방법에 대해서 알아보겠습니다.
Matplot - 시각화에 있어 여러가지 옵션들을 다양하게 사용해서 시각화 할 수 있는 라이브러리
Seaborn - Matplot 라이브러리를 기반으로 한 통계 전공 시각화 라이브러리
데이터 시각화란?
데이터 시각화는 정보를 한 눈에 보기 쉽게 시각적으로 표현하여 인사이트를 도출하고 이해하기 쉽게 만드는 과정이다.
시각화 또한 데이터 타입에 따른 시각화 유형이 달라지게 된다
단일 변수
데이터 타입 | 유형 |
연속형 | 확률분포 or 히스토그램 |
범주형 | 빈도 수 그래프 (Bar / Pie Chart) |
다변수
데이터 타입 | 유형 |
Y : 연속 / X : 연속 | 산점도 / 회귀 그래프 / 히트맵 |
Y : 연속 / X : 범주 | 막대 그래프 / 상자그림 |
Y : 연속 / X : 시간(순서) | 선 그래프 / 포인트 그래프 |
위와같은 데이터를 시각화 해보겠습니다
1. 단일변수 시각화 하기
1.1 범주형 데이터 시각화
pandas에서 데이터수를 확인 할 때 value_counts() 를 사용하여 확인 하였었다.
이를 간단하게 시각화해서 알아보고 싶으면 seaborn 라이브러리를 사용하면 된다
Seaborn
seaborn 라이브러리를 불러오고 그 뒤에 그래프의 유형을 함수로 써준 다음 그 안에 알맞은 형태를 넣어주면 된다
ex) sns.countplot(data = df1, x='type_of_contract')
한국어 폰트를 설정해주지 않았기 때문에 위같이 한글이 나오지 않는다.
위 같은 경우 한국어 폰트를 Matplot에서 옵션을 설정해주면 된다.
2가지의 단일변수 데이터를 한 그래프로 보고싶으면 'hue' 를 설정해주면 된다.
이제 matplot 라이브러리를 사용하여 여러가지 옵션들을 설정해주자
Matplot
Matplot 라이브러리는 2가지의 사용 툴이 있다.
1. matplotlib 안에 있는 pyplot모듈 안에 함수를 사용하는경우
- 그래프 출력과 직접적으로 연관된 디테일한 옵션들을 사용할 경우 ex) 그래프 제목 , 사이즈, 위치 등..
2. matplotlib 라이브러리를 사용하는 경우
- 외적인 디자인 부분을 사용할 경우 ex) 폰트 등..
Matplot 라이브러리의 rc 함수를 사용하여 폰트를 맑은고딕으로 설정 해주니 한국어가 잘 나왔다.
그래프의 제목을 설정해주자
matplotlib 안에 있는 pyplot모듈 안에 title을 사용하여 제목을 설정해주었다.
기본적인 함수
- plt.figure(figsize = [0:0]) - 그래프의 x,y축 사이즈
- plt.legend(loc = 'right') - 범례 위치 지정
1.2 빈도수가 높은 순서대로 시각화 하기
방법 1
value_counts를 이용하여 높은 순서를 확인 한 다음
하나하나 기입하는 방법이 있다. 하지만 이렇게 하기엔 너무 번거롭다고 느껴진다.
다른 방법을 알아보자
방법 2.
value_counts로 나타낸 데이터의 index를 list형태로 불러온다.
그다음 그래프를 만들 때 order에 list형태로 저장해둔 데이터를 불러와 리스트 범위를 지정해주면 된다
1.3 연형 변수 시각화 하기
연속형 변수를 시각화 할 때는 보통 히스토그램을 많이 사용한다
Seaborn 에 있는 histplot 함수 사용
ex) sns.histplot(data = df1, x = 'age')
kde 를 추가하여 확률분포선 또한 볼 수 있다.
그래프 저장
pyplot모듈 안에 savefig 함수를 사용하여 준다
경로를 지정해주지 않으면 본인 스크립트가 있는 폴더에 저장되게 된다.
잘 저장된 것을 볼 수 있다!
참고 : [매일10분 데이터 분석] 데이터 시각화를 쉽게 해보자 ! (Python / 그래프 / Seaborn / Matplot) (youtube.com)
[매일10분 데이터 분석] 여러 가지 시각화 옵션 (그래프 저장 / 한글 폰트 / seaborn / matplotlib / 단일 변수 시각화) (youtube.com)