반응형
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의 실무 활용도를 크게 높여주는 부분이라, 다양한 그래프를 실제 데이터에 반복 적용해보는 것이 중요하다.
반응형
'데이터' 카테고리의 다른 글
| 제로베이스 데이터사이언스 스쿨 - Part.02 데이터 분석을 위한 SQL-1 (0) | 2025.10.01 |
|---|---|
| 제로베이스 데이터사이언스 스쿨 - Part 01. 데이터 분석을 위한 Python_Chapter 03-3 (0) | 2025.09.30 |
| 제로베이스 데이터사이언스 스쿨 - Part 01. 데이터 분석을 위한 Python_Chapter 03-1 (0) | 2025.09.27 |
| 제로베이스 데이터사이언스 스쿨 - Part 01. 데이터 분석을 위한 Python_Chapter 02-6 (0) | 2025.09.26 |
| 제로베이스 데이터사이언스 스쿨 - Part 01. 데이터 분석을 위한 Python_Chapter 02-5 (0) | 2025.09.25 |