데이터

제로베이스 데이터사이언스 스쿨 - Part 01. 데이터 분석을 위한 Python_Chapter 03-2

Leah (리아) 2025. 9. 28. 19:12
반응형

Chapter 03. 데이터 시각화를 위한 matplotlib과 seaborn

 

Matplotlib로 그래프 그리기

1. 그래프 환경 설정

  • rc 함수: 그래프의 전역 스타일 설정
    • rc('font', family='Malgun Gothic') → 한글 깨짐 방지
    • rc('figure', dpi=값) → 해상도 설정
    • rc('figure', figsize=(가로, 세로)) → 기본 크기 설정
  • 폰트 관리: font_manager로 시스템 폰트 확인 가능
  • 마이너스 깨짐 방지:
plt.rcParams['axes.unicode_minus'] = False

 


2. 선 그래프 (Line Plot)

  • plot(x, y)로 기본 선 그래프 작성
  • 스타일 인자
    • 색상: color='r', HEX 코드도 가능
    • 선 스타일: linestyle='--'
    • 선 두께: linewidth=2
    • 마커: marker='o', 크기 markersize=5
    • 마커 색상: mec, mfc, mew로 테두리/내부/두께 지정

3. 산점도 (Scatter Plot)

  • scatter(x, y)로 작성
  • 스타일 인자
    • s: 점 크기 (배열 입력 시 개별 크기 지정 가능)
    • color, alpha: 색상과 투명도 설정
    • edgecolors, linewidths: 점 테두리 스타일
  • 대규모 데이터 시각화 시 alpha 인자를 활용해 겹침 현상 완화

4. 막대 그래프 (Bar Chart)

  • bar(x, height) → 수직 막대 그래프
  • barh(y, width) → 수평 막대 그래프
  • 주요 인자: width, height, color, edgecolor
  • 눈금 설정 시 막대 중앙과 일치하도록 xticks, yticks 조정 필요

 

5. 박스 플롯 & 바이올린 플롯

  • 박스 플롯 (boxplot): 데이터 분포(중앙값, 사분위수, IQR, 이상치)를 표현
  • 바이올린 플롯 (violinplot): 분포 모양을 커널 밀도 추정으로 표현
  • 주요 인자: vert, showmeans, showmedians, inner

6. 히스토그램 (Histogram)

  • hist(x, bins=10) → 변수의 분포를 시각화
  • 주요 인자:
    • bins: 구간 개수
    • range: 구간 범위
    • density=True: 확률 밀도 표시
    • cumulative=True: 누적 분포 표시

7. 수직선과 수평선

  • 기준선 추가에 사용
plt.axvline(x=값) # 수직선
plt.axhline(y=값) # 수평선

 

 

* 이 글은 제로베이스 데이터사이언스 파트타임 스쿨의 강의 자료 일부를 발췌하여 작성되었습니다.


 

💡 생각 정리

이번 강의에서는 단순한 그래프 생성에서 벗어나, 다양한 시각화 방법과 세부적인 커스터마이징을 배웠다. 특히 rc 설정을 통한 환경 세팅은 반복적인 시각화 작업에서 시간을 크게 줄여줄 수 있다는 점이 인상적이었다.

 

또한 막대 그래프와 박스 플롯, 히스토그램을 비교하면서 각각의 장단점을 이해할 수 있었다.

예를 들어, 히스토그램은 데이터 분포를 직관적으로 볼 수 있지만 구간 설정에 따라 결과가 달라질 수 있고, 박스 플롯은 중앙값과 이상치를 빠르게 확인할 수 있다는 점이 좋았다.

 

무엇보다 중요한 건, 그래프는 단순히 그림을 그리는 것이 아니라 데이터를 전달하는 도구라는 점이다. 따라서 상황에 맞는 그래프를 선택하고, 가독성을 높이는 세부 스타일을 적극적으로 활용해야 한다는 생각이 들었다.


🚀 적용점

  •  
  • 데이터셋을 불러와서 같은 데이터를 선 그래프, 산점도, 막대 그래프, 히스토그램으로 각각 시각화해보고 특징 비교하기
  • rc 설정을 통해 폰트, 크기, 색상을 프로젝트 기본값으로 세팅해 작업 효율 높이기
  • boxplot과 violinplot으로 동일한 데이터를 시각화하며 분포 차이 표현 방식 체험하기
  • 히스토그램의 bins 값을 다양하게 바꿔보며 결과 해석 차이 확인하기
  • 기준선(axhline, axvline)을 추가해 데이터 기준점을 명확히 시각화하는 연습하기

👉 이번 강의는 Matplotlib의 실무 활용도를 크게 높여주는 부분이라, 다양한 그래프를 실제 데이터에 반복 적용해보는 것이 중요하다.

 

반응형