📌 학습목표
1. 시각화
2. matplotlib plot - Scatterplot, Barplot, Histogram, Plechart, heatmap, style, Subplots, boxplot, violinplot
시각화 (Visualization)
: 데이터분석 결과를 Plot이나 Graph등을 통해 시각적으로 전달하는 방법
- 데이터 분석 내용을 한눈에 볼 수 있게 내용을 효과적으로 전달
- 통계수치상으로는 파악하기 쉽지 않은 내용까지 분석 가능한 경우도 존재 (예. 데이터 분포를 시각화로 나타낼 때)
✓ 대표적인 데이터 시각화 라이브러리
- matplotlib
- seaborn
matplotlib
: 데이터를 다양한 방법으로 도식화 할 수 있도록 하는 Python Library (우리가 사용할 것은 matplotlib의 pyplot)
- numpy나 pandas에서 사용되는 자료구조를 쉽게 시각화 가능
✓ 기본 문법
# 참조
import matplotlib.pyplot as plt
# 그래프 찍기
plt.plot([1, 2, 3], [3, 6, 9])
plt.plot([1, 2, 3], [2, 4, 9]) # 플롯 축적
# 플롯 보기
plt.show()
# 플롯 저장
plt.savefig('파일명.파일형식')
# 플롯 타이틀 설정
plt.title('타이틀')
# 플롯의 x, y축 label 설정
plt.xlabel('x축레이블', fontsize=)
plt.ylabel('y축레이블', fontsize=)
# 플롯의 x, y축 눈금 설정
plt.xticks(rotation=글자 회전 각도)
plt.yticks(rotation=글자 회전 각도)
# 플롯 범례 설정
plt.legend(['범례명1', '범례명2', ...], fontsize=)
# 플롯의 x, y축 눈금의 양 끝값을 설정
plt.xlim(시작값, 끝값)
plt.ylim(시작값, 끝값)
- `import matplotlib.pyplot as plt` : matplotlib 라이브러리를 사용하겠다는 참조 명령어
- `plt.plot()` : 플롯을 찍을 수 있음
- `marker = ` : 점 모양
- `'.'` : point marker (점)
- `'o'` : circle marker (꽉찬 원)
- `'v'` : triangle down marker (아래를 향하는 꽉찬 세모)
- `'+'` : plus marker (플러스 기호)
- `'*'` : star marker (별)
- `markersize = ` : 점 크기
- `linestyle = `: 선 모양
- `'-'` : solid line style (일직선)
- `'--'` : dashed line style (- - -)
- `'-.'` : dash-dot line style (-·-·-·)
- `':'` : dotted line style (점선)
- `color = `: 선 색깔
- `'b'` : blue (파란색)
- `'g'` : green (초록색)
- `'r'` : red (빨간색)
- `'c'` : cyan (청록색)
- `'m'` : magenta (분홍색)
- `'y'` : yellow (노란색)
- `'k'` : black (검정색)
- `'w'` : white (흰색)
- `alpha = `: 투명도 (0.0 ~ 1.0)
- `marker = ` : 점 모양
- `plt.show()` : 플롯을 확인할 수 있음
- `plt.savefig('저장할 파일명.파일형식', dpi=해상도)` : 플롯 저장
- `plt.title('타이틀')` : 플롯의 제목
- `plt.xlabel('x축 레이블명', fontsize=)`, `plt.ylabel('y축 레이블명', fontsize=)` : 플롯의 x, y축 label 설정
- `plt.xticks(rotation= 글자 회전 각도 )`, `plt.yticks(rotation= 글자 회전 각도)` : 플롯의 x, y축 눈금 설정
- `plt.legend(['범례명1', '범례명2', ...], fontsize=)` : 플롯 범례 설정
- `plt.xlim(시작값, 끝값)`, `plt.ylim(시작값, 끝값)` : x, y축 눈금의 양 끝값을 설정해준다.
► 선형 그래프나 산점도의 경우 `marker`, `markersize`, `linestyle`, `color`, `alpha` 등을 설정하여 플롯의 점 모양, 점 크기, 선 모양, 색깔, 투명도 등을 조절 가능
► 특히, 산점도에서 color를 label로 주어서 label 따른 분포를 파악할 수 있음
[예제]
import matplotlib.pyplot as plt
# X와 Y의 한계점(Limit) 설정: xlim(), ylim()
plt.plot(np.arange(10), np.arange(10)*2)
plt.plot(np.arange(10), np.arange(10)**2)
plt.plot(np.arange(10), np.log(np.arange(10)))
# 타이틀 & font 설정
plt.title('이것은 타이틀 입니다', fontsize=20)
# X축 & Y축 Label 설정
plt.xlabel('X축', fontsize=20)
plt.ylabel('Y축', fontsize=20)
# X tick, Y tick 설정
plt.xticks(rotation=90)
plt.yticks(rotation=30)
# legend 설정
plt.legend(['10 * 2', '10 ** 2', 'log'], fontsize=15)
# x, y limit 설정
plt.xlim(0, 5)
plt.ylim(0.5, 10)
# 플롯 보기
plt.show()
matplotlib plot 유형
1. Scatter plot (산점도)
: x, y좌표로 이루어진 데이터들을 '점'으로 표현하는 플롯
► label이나 class에 따른 분포를 확인할 때 활용
import matplotlib.pyplot as plt
# 산점도
plt.scatter(s= , c= )
- `s` : 점 크기
- `c` : 점 색깔
'데이터 분석 Data Analytics > 프로그래머스 데이터분석 데브코스 2기' 카테고리의 다른 글
[TIL] 데이터분석 데브코스 34일차 - 데이터 모델링/선형회귀/Ridge/Lasso/로지스틱회귀/SVM/Random Forest (0) | 2024.04.19 |
---|---|
[TIL] 데이터분석 데브코스 33일차 (2) - seaborn plot (0) | 2024.04.19 |
[TIL] 데이터분석 데브코스 32일차 (2) - 기술통계/가설검정 (0) | 2024.04.19 |
[TIL] 데이터분석 데브코스 32일차 (1) - 확률과 확률변수/확률분포 (0) | 2024.04.19 |
[TIL] 데이터분석 데브코스 31일차 - 데이터 분석의 이유/데이터 분석 프로세스/Google Colab/정규화 및 스케일링(Normalization, Scaling) (0) | 2024.04.08 |