끄적이는 개발노트
260513_강의 정리 (Matplotlib) 본문
728x90
■ Matplotlib 시각화 (EDA)
- Matplotlib 계열 흐름
- matplotlib
- Python의 가장 기본이 되는 시각화 라이브러리
- 거의 모든 Python 시각화 라이브러리의 기반
- pandas.plot
- matplotlib를 쉽게 사용할 수 있도록 래핑한 기능
- 데이터프레임 기반 빠른 시각화
- seaborn
- 통계 분석용 시각화 강화
- 회귀선, 분포, 상관관계, 범주 비교 등에 특화
- plotly / dash
- 인터랙티브(확대/hover) 웹 시각화
- 대시보드 제작 가능
- matplotlib
- 기본 구조
- figure (캔버스)
- 전체 도화지 (Canvas)
- 그래프 전체 영역
- 여러 개의 그래프 (ax)를 포함 가능
- Axes
- 실제 그래프가 그려지는 영역 (제목, 그래프, 눈금, 범례)
- 여러 개 생성 가능
- Axis
- 축 (x, y)
- Spines
- 그래프 경계선
- Canvas
- 실제 출력되는 화면 영역
- figure (캔버스)
- 내부 계층 구조
- Backend Layer
- 실제 출력 담당
- 역할
- PNG 저장
- GUI 출력
- Notebook 렌더링
- 종류
- TkAgg
- Qt
- Agg
- WebAgg
- Artist Layer
- 그래프를 구성하는 객체 계층
- 모든 요소가 Artist 객체 (text, line, axis, legend 등)
- Scripting Layer (pyplot)
- 사용자가 가장 많이 쓰는 인터페이스
- 특징
- MATLAB 스타일
- 빠른 그래프 생성
- 내부적으로 figure/axes 자동 생성
- Backend Layer
- 출력 결과 형태
- Raster Image
- 픽셀 기반 이미지 (PNG, JPG)
- 확대 시 깨짐 (계단 현상)
- Vector Image
- 수학적 좌표 기반 (SVG, PDF)
- 확대해도 안 깨짐
- Raster Image
- 종류
- 범주형 : 그룹(카테고리) 간 비교
- Bar : 범주별 값 비교
- Pie : 전체 대비 비율 표현
- Stacked Bar : 누적 막대 그래프
- 수치형 분포 : 데이터가 어떻게 퍼져있는지
- Histogram : 구간(bin) 별 빈도수
- KDE : 분포를 부드러운 곡선 => 밀도
- Box : 사분위수 기반 분포
- Violin : Box + KDE
- 수치형 관계 : 변수 간 관계 확인
- Scatter : 점으로 관계 표현
- Bubble : Scatter + 점 크기 추가
- Heatmap : 색으로 수치 표현
- 시계열 : 시간 흐름 분석
- Line : 시간 변화 추이
- Area : 면적으로 누적 변화 표현
- OHLC : 금융 데이터용
- 3차원/공간 시각화
- Surface : 3차원 곡면
- Contour : 등고선 그래프
- mplot3d : matplotlib 3D 모듈
- 범주형 : 그룹(카테고리) 간 비교
- 이미지 정규화
- 픽셀 값을 일정 범위로 변환
- 255로 나눔 → 0~1 사이 값으로 변환
728x90
'Python' 카테고리의 다른 글
| 260518_강의 정리 (Pandas) (0) | 2026.05.18 |
|---|---|
| 260512_강의 정리 (NumPy) (0) | 2026.05.13 |
| 260415_강의 정리 (Flask) (1) | 2026.04.15 |
| 260410_강의정리 (Python을 이용한 MySQL DB 연동) (0) | 2026.04.10 |
| 260406_강의정리 (클래스 관계) (0) | 2026.04.06 |
