1. 새롭게 알게된 내용
1.1 기본 그래프 그리기
📌 y축 데이터로 그리기
- y축 : 1차원 리스트, 튜플, 시리즈 데이터
- x축 : 데이터의 인덱스로 자동 지정됨
data = [1, 5, 3, 9, 7]
plt.plot(data)
plt.show()
📌 x축, y축 데이터로 그리기
- x축과 y축 데이터의 길이가 같아야 함
x = [1,5,6,9,10]
y = [1,5,3,9,7]
plt.plot(x, y)
plt.show()
1.2 그래프의 종류
1.2.1 시간의 시각화
📌 선 그래프 → plt.plot()
age = [7,8,9,10,11,12,13,14,15]
height = [122.1, 127.9, 133.4, 138.8, 142.7, 151.4, 155.6, 165.0, 169.2]
plt.plot(age, height)
plt.show()
1.2.2 수량 비교 시각화
📌 막대 그래프 → plt.bar()
# 샘플데이터 : 100명 중 혈액형 인원 비교
blood_type=['A','B','O','AB']
count=[45,35,15,5]
plt.bar(blood_type, count)
plt.show()
📌 가로 막대 그래프 → plt.barh
plt.barh(blood_type, count)
plt.show()
1.2.3 비율의 시각화
📌 파이차트 → plt.pie()
plt.pie(count, labels = blood_type)
plt.show()
1.2.4 분포의 시각화
📌 히스토그램 → plt.hist()
# 샘플데이터 (1~100사이의 랜덤 정수 1000개)
import numpy as np
data = np.random.randint(1,101,1000)
plt.hist(data, bins = 100) # bins : x축의 구간 갯수
plt.show()
📌 상자수염 그래프 → plt.boxplot()
plt.boxplot(data)
plt.show()
📌 바이올린 그래프 → plt.violinplot()
plt.violinplot(data)
plt.show()
1.2.5 관계의 시각화
📌 산점도 → plt.scatter()
# 샘플데이터 (seaborn 내장 데이터 - 지불금액에 따른 팁)
import seaborn as sns
tips = sns.load_dataset('tips')[['total_bill','tip']]
plt.scatter(tips['total_bill'], tips['tip'])
plt.show()
1.3 그래프 가독성
1.3.1 한글 폰트 사용
# 그래프를 노트북 안에 그리기 위해 설정
%matplotlib inline
# 필요한 패키지와 라이브러리 가져온다.
import matplotlib as mpl
import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
# 폰트 확인하기
[f.name for f in fm.fontManager.ttflist if 'Gulim' in f.name]
# 한글폰트 지정
plt.rcParams['font.family'] = 'Malgun Gothic'
# 한글폰트 사용 시 '-'기호 깨지는 문제 해결
plt.rcParams['axes.unicode_minus'] = False
1.3.2 색상, 마커, 선
color example code: named_colors.py — Matplotlib 2.0.2 documentation
color example code: named_colors.py (Source code, png, pdf) """ ======================== Visualizing named colors ======================== Simple plot example with the named colors and its visual representation. """ from __future__ import division import m
matplotlib.org
📌 색상
x = ['봄','여름','가을','겨울']
y = [19,30,15,-10]
# 색상이름, 색상이름 약자, 색상코드 모두 사용 가능
plt.plot(x, y, color = 'skyblue'/'r'/'#A566FF')
plt.show()
📌 마커
- marker : 마커종류 (* . , o v ^ < > 1 2 3 4 s p * h H + x D d)
- markersize, ms : 마커사이즈
- markeredgecolor, mec : 마커 선 색깔
- markeredgewidth, mew : 마커 선 굵기
- markerfacecolor, mfc : 마커 내부 색깔
plt.plot(x, y, color = '#A566FF', marker = '*', ms = 10, mec = 'b', mew = 3, mfc = 'r')
plt.show()
📌 선
- linestyle, ls : 선스타일 ('-' '--' '-.' ':' )
- linewidth, lw : 선 굵기
plt.plot(x, y, color = '#A566FF', marker = '*', ms = 10, mec = 'b', mew = 3, mfc = 'r'
, linestyle = '--', lw = 3)
plt.show()
📌 색상, 마커, 선 한 번에 적용
- 'bo:' : 선 색상, 마커, 선 종류를 한 번에 표현
- 색, 굵기 등 매개변수로 적용 가능
plt.plot(x, y, 'bo:', ms = 10, mec = 'r', mfc = 'k', lw = 3)
2. 회고
오늘부터 파이썬 데이터 시각화를 시작했다.
시각화 쪽은 스스로 많이 부족하다는 생각이 있어서 더 정리하면서 꼼꼼히 들을 생각이다.
특히 예전에 프로젝트를 하면서 그래프 내 한글이 깨지는 경우를 매번 처리할 때마다 어려움을 겪었다. 앞으로는 그런 일을 겪지 않도록 코드를 잘 저장해두고 기억해 두어야겠다.
'웅진X유데미 STARTERS > TIL (Today I Learned)' 카테고리의 다른 글
[스타터스 TIL] 6일차.파이썬 데이터 시각화 (3) - seaborn, 실습 (0) | 2023.02.13 |
---|---|
[스타터스 TIL] 5일차.파이썬 데이터 시각화 (2) - 그래프 종류 (0) | 2023.02.11 |
[스타터스 TIL] 4일차.파이썬 데이터 분석 (4) - 분석 실습, value_counts, groupby (0) | 2023.02.09 |
[스타터스 TIL] 3일차.파이썬 데이터 분석 (3) - 판다스, 데이터프레임 (0) | 2023.02.09 |
[스타터스 TIL] 2일차.파이썬 데이터 분석 (2) - 딕셔너리, 함수, 클래스 (0) | 2023.02.08 |