728x90
- Matplotilb
- 기본적인 시각화가 가능한 라이브러리
import matplotlib.pyplot as plt
- plot() : 라인을 그릴 때 사용
data = [1, 2, 3, 4, 5, 4, 3, 2, 1]
plt.plot(data)
plt.show()
- 라인 스타일 변경하기 : ls (line style), lw(line width)
- line style
- '-' : 실선
- '--' : 점선
- '-.' : 선과 점의 반복
- ':' : 촘촘한 점선
x = [0, 1, 2, 3, 4]
y = [1, 2, 3, 4, 5]
plt.plot(x, y, ls = '-.', lw = '3')
plt.show()
- 그래프 크기 조정
plt.figure(figsize = (3, 4))
# 사이즈는 인치 기준
plt.plot(x, y)
plt.show()
- 색깔 바꾸기
plt.figure(figsize = (3, 4))
plt.plot(x, y, color = 'r')
plt.show()
- 마커 스타일 설정
- marker style
- o : 동그라미
- v, <, > : 방향 세모
- p : 오각형
# marker size = ms
# marker edge color = mec
# marker edge width = mew
# marker face color = mfc
plt.figure(figsize = (3, 4))
plt.plot(x, y, color = 'r',
marker = 'p', ms = '10', mec = 'y', mew = '2', mfc = 'g')
plt.show()
- 그래프 라벨링
plt.figure(figsize = (3, 4))
plt.plot(x, y, color = 'r', label = 'data',
marker = 'p', ms = '10', mec = 'y', mew = '2', mfc = 'g')
plt.title('data graph') # 그래프 제목
plt.legend() # 범례
plt.xlabel('x-data') # x축 라벨링
plt.ylabel('y-data') # y축 라벨링
plt.show()
- 여러 개의 선 동시에 그래프에 그리기
x = [0, 1, 2, 3, 4]
y1 = [5, 3, 4, 1, 2]
y2 = [2, 1, 3, 5, 4]
y3 = [4, 2, 1, 3, 5]
plt.figure(figsize=(5,4))
plt.plot(x, y1, label = 'data1')
plt.plot(x, y2, label = 'data2')
plt.plot(x, y3, label = 'data3')
plt.legend()
plt.title('Data graph')
plt.xlabel('xData')
plt.ylabel('yData')
plt.show
- 여러 개의 그래프 한 번에 그리기
- Figure : 그림을 그릴 수 있는 영역 자체
- Subplot : 실제 그림이 그려지는 영역
fig = plt.figure()
x1 = fig.add_subplot(221) # 행번호, 열번호, 그림번호
x2 = fig.add_subplot(222)
x3 = fig.add_subplot(223)
plt.show()
- 데이터 프레임에서 활용하기
trafic_data = pd.DataFrame(
[[9800,5500, 99, 980, 20000],[10200,6600, 0, 1020, 20000],
[12500, 4520, 3000, 780, 21000], [2000, 2000, 2000, 2000, 2000]],
index=['10/22','10/23', '10/24', '10/25'],
columns=['원티드','사람인', '잡플래닛', '잡코리아', '스펙업'])
trafic_data
# matplotlib 임포트, 주피터 출력설정, 한글 글꼴 지정
import matplotlib.pyplot as plt
%matplotlib inline
from matplotlib import font_manager, rc
font_name = font_manager.FontProperties(fname='C:/Windows/Fonts/malgun.ttf').get_name()
rc('font', family=font_name)
# Series 그래프
trafic_data.loc['10/22'].plot()
# DataFrame 그래프
trafic_data.plot(grid=True)
# 막대 그래프
trafic_data.plot(kind='bar', title='Trafic Data')
# 산점도
trafic_data.plot(kind='scatter', grid=True, x='원티드', y='사람인')
# subplot : 한 화면에 여러 그래프를 나눠서 그림
trafic_data.plot(subplots=True)
728x90
'PROGRAMMING > PYTHON' 카테고리의 다른 글
[Python] 정규 분포, 확률 분포, 사분위 수 (0) | 2021.05.10 |
---|---|
[Python] JSON, open API 다루기 (0) | 2021.04.28 |
[Python] Pandas 다루기 - 범죄 현황 데이터 (0) | 2021.04.26 |
[Python] Pandas 다루기 - 카테고리 데이터 (0) | 2021.04.26 |
[Python] Pandas 다루기 - 점수 데이터 (0) | 2021.04.26 |
댓글