ACAIT

[BDA 데분기] 8주차 - 데이터 시각화, matplotlib, seaborn 본문

학회 활동/BDA 7기(데이터 분석 기초반)

[BDA 데분기] 8주차 - 데이터 시각화, matplotlib, seaborn

831x99 2024. 1. 31. 22:00

데이터 시각화에 대한 내용을 정리해 보겠습니다.

  • 시각화 모듈의 문법과 로직
  • matplotlib, seaborn: 가장 많이 사용하는 툴
  • matplotlib의 불편한 부분을 보완하기 위해 seaborn 많이 사용.

 

  1. 왜 시각화 진행?
  • 시각화: 데이터 분석 나의 주장이나, 가설을 설득하기 위한 하나의 과정.
  • 나의 주장과 가설 잘 뒷받침할 수 있는 시각화를 통해 상대방 설득.
  • 의미가 변수간의 관계 확인용 외에도 데이터 분석에서 본인의 주장, 가설이 베이스로 진행이 되는 것.

  • 시각화는 상대방을 쉽게 설득시킬 수 있어야 한다.
  • 맥킨지에서도 말하지만, 데이터 시각화로 잘못되게 표현하면 안 된다.
  • 다양한 시각화 그래프가 많지만, 가장 단순하고 확실히 이해할 수 있는 시각화 등이 중요하다.
  • 화려하다고 좋은 게 아니다.

Ⅰ. matplotlib

  • Figure 큰 도화지의 개념.
  • ax 축 개념.
  • 도화지 그릴 때 큰 그림을 그리고 안에 그림 채우는 형식으로 진행. (시각화 모듈의 로직)
  • 큰 그림을 먼저 그리고 안의 세부적인 부분을 추가.

ⅰ. 기본 문법

  • plt. 이어진다.

ⅱ. %matplotlib inline

  • 매직 커맨드. show() 사용하지 않고 바로 볼 수 있게 해 주는 코드.


1. plt.scatter(): 산점도 그래프

  • 산점도로 그림 그리기.
  • 시각화 할 때 중요한 것은 데이터의 타입.
  • 연속형, 범주형에 따라 시각화가 달라짐.
  • 한글 폰트는 깨질 수 있다.

 


1-1. xlim(), ylim(): 축 범위 설정

  • 내가 원하는 범위의 값만 시각화 가능.
  • 축의 범위 조정 가능.


1-2. xticks(), yticks(): 눈금값 설정

  • 눈금값 설정 가능.


1-3. legend(): 범례 설정


1-4. plt 문법 다중 사용하면 그래프 확장

# 범례의 위치 변경 가능.

  • left
  • center
  • right
  • upper left
  • lower left
  • 이외 메서드 모두 가능.


1-5. figure(figsize = ): 그래프의 크기와 스타일 설정

  • seaborn 함수와 같이 사용.


1-6. plt.scatter(alpha = ): 투명도 설정

  • 알파값 크게 설정하면 진하게, 작게 설정하면 투명해짐.


 

2. plt.plot(): 선 그래프

  • plt.plot() 안에 들어가는 파라미터는 조금씩 다를 수 있다.

2-1. plt.plot() 다중 작성: 두 가지 이상 그래프 그리기


2-2. 색상, 선 스타일, 두께 설정

  • color, linestyle(solid, dashed, dashdot, dotted), linewidth: 그래프 스타일 조정할 수 있는 파라미터.


2-3. 마커 설정

  • 해당 값에 대한 지정 marker.
  • . 점, o 원 s 사각형 * 별, D 다이아몬드 등.
  • marker, markersize 지정 가능.


 

3. plt.bar(): 막대 그래프


3-1. xticks(), yticks(): 눈금값 설정
       color, linestyle(solid, dashed, dashdot, dotted), linewidth: 스타일 설정


 

4. plt.boxplot(): 박스 그래프

  • 수치형 데이터에 사용


 

5. plt.hist(): 히스토그램

  • 도수분포표


 

6. plt.subplots(): 여러 개의 그래프 그리기

  • 여러 개의 그래프는 subplots 사용.
  • 좌표 찍어서 해당 위치에 그래프 시각화.
  • Figure 큰 도화지.
  • Axes 축을 이용해서 지정.


6-1. 그래프 실제로 그리고 축을 지정하여 그래프 작성


Ⅱ. seaborn

1. sns.heatmap(): 히트맵

  • 2차원 배열로 각 요소들 색상 시각화.

  • 데이터값 표시하고 싶은 경우: annot = True
  • fmt 사용하면 'd' 정수, 실수 등 표현 가능.
  • cmap 색상 조합 다양하게 만들 수 있다.