-
데이터 시각화 04 - Matplotlib (기본/스타일)빅데이터/Data Visualization 2022. 1. 21. 18:31
유투버 '나도코딩'님 강의 참조
- Matplotlib 이란?
- 파이썬의 대표적인 과학 계산용 그래프 라이브러리
- 선, 히스토그램, 산점도 등의 고품질 그래프 제공
- 저수준 API를 이용하여 다양한 시각화 기능 제공
- 다양한 운영체제와 그래픽 백엔드에서 동작 가능
* 기본 세팅
import matplotlib as mpl import matplotlib.pyplot as plt # 시각화 담당 import numpy as np import pandas as pd
01 기본 그래프
# 꺾은석 그래프 x = [1,2,3] y = [2,4,8] plt.plot(x, y) # print() 문으로도 출력 가능 # ';'으로 타이틀 지울 수 있음
- 타이틀, 폰트 설정
# 타이틀 설정 plt.plot(x,y) plt.title('Line Graph'); # 한글 폰트 설정 import matplotlib matplotlib.rcParams['font.family'] = 'Malgun Gothic' # 윈도우 전용 matplotlib.rcParams['font.size'] = 15 #폰트 크기 plt.plot(x,y) plt.title('꺽은선 그래프'); # 사용 가능한 폰트 목록 import matplotlib.font_manager as fm fm.fontManager.ttflist [f.name for f in fm.fontManager.ttflist]
- 음수 처리
matplotlib.rcParams['axes.unicode_minus'] = False
▶ 한글 + 마이너스 출력시 깨짐 방지 가능
02 축
* 기본 세팅은 모든 챕터에 따라 온다.
import matplotlib.pyplot as plt # 한글 폰트 설정 import matplotlib matplotlib.rcParams['font.family'] = 'Malgun Gothic' # 윈도우 전용 matplotlib.rcParams['font.size'] = 15 #폰트 크기 matplotlib.rcParams['axes.unicode_minus'] = False x = [1,2,3] y = [2,4,8]
- 그래프 세팅x = [1,2,3] y = [2,4,8] plt.plot(x,y); plt.title('꺾은선 그래프', fontdict={'family':'HYGungSo-Bold', 'size':20}) #개별 폰트 설정
- 축 세팅
# 축 정보 넣기 plt.plot(x,y) plt.xlabel('X축', color='red', loc='right') # x축 loc는 'right, center, left' 가능 plt.ylabel('Y축', color='#00aa00', loc='top') # y축 loc는 'top, center, botton' 가능 plt.xticks([1,2,3]) plt.yticks([3,6,9,12]);
- '.xlabel' / '.ylabel' 을 사용하여 x,y축 설정 가능
- 색상도 넣을 수 있고, HTML 방식의 색상 설정도 가능
- 축의 위치 설정 가능
- 그래프 값 설정 가능
그래프 값 단위 변경 전 변경 후 03 범례
- 범례는 그래프에서 데이터가 어떤것을 의미하는지 알려 준다
plt.plot(x,y, label = 'Data-1') plt.legend(loc='upper right');
- '.legend(loc='') 를 사용하여 범례를 조절 할 수 있으며 'loc=(값, 값)' 으로 범례를 놓고 싶은 부분에 놓을 수 도 있다
- 범례 속성은 다음 링크를 참조 하자! (https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.legend.html)
plt.plot(x,y, label = 'Data-1') plt.legend(loc=(0.5, 0.5));
04 그리드
- 간단히 그래프 안에 격자를 넣어 보기 쉽도록 만드는 기술
plt.plot(df['지원 번호'], df['영어']) # .plot(x,y) plt.plot(df['지원 번호'], df['수학']); # .plot(x,y) plt.grid() * x와 y축만 들고 올 수 있고, 색상, 투명도, 라인스타일, 굵기 등 설정 가능 하다. plt.grid(axis='y', color='red', alpha=0.5, ls=':', lw=2)
05 스타일
- 그래프를 사용시에 이 그래프에 대한 각종 스타일 조정이 가능 하다
- 라인 및 마커 스타일
# 선을 굵게 plt.plot(x,y, linewidth=3); # 실선 plt.plot(x,y,linestyle=':'); # 동그라미로 시작, 꺾이는 부분, 끝 표시 가능 plt.plot(x,y, marker='x'); # o,x,v 사용 가능, # 라인을 없애고 표시만 남기기 plt.plot(x,y,marker='v',linestyle='None', markersize=10); #'markersize로 크기 조절 가능' # 마커 색상 변경 plt.plot(x,y,marker='v',markersize=10, markeredgecolor='red'); #'markeredgecolor로 색상 변경 # 마커 안의 색상 변경 plt.plot(x,y,marker='v',markersize=10, markeredgecolor='red', markerfacecolor='yellow'); #'markerfacecolor 색상 변경 # 투명도 plt.plot(x,y,marker='o', mfc='red', ms=10, mec='blue', ls=':', alpha=0.3); # alpha로 투명도 조절 # 그래프 크기 plt.figure(figsize=(10, 5)) # 'figsize=(넓이, 높이) #dpi 로 해상도 조절 가능 plt.plot(x,y); # 그래프 배경색 plt.figure(facecolor='yellow') plt.plot(x,y)
HTML 값도 사용 가능 ▶ 마커에 대한 추가적인 정보는 다음 링크로 (https://matplotlib.org/stable/api/markers_api.html)
▶ 선 스타일은 아래 참조
plt.plot(x,y, linestyle='--') plt.plot(np.random.rand(10), color='gold') plt.plot(np.random.rand(10), 'g:') plt.plot(np.random.rand(10), color='#1234FF')
HTML 색상도 적용 가능 ▶ 스타일을 하나의 포맷으로 넘길수도 있다
# 스타일 포맷으로 넘기기 plt.plot(x,y, 'ro--') # 'r(color)' / 'o(marker)' / '--(linestyle)' plt.plot(x,y, 'bv:') plt.plot(x,y, 'go')
▶ 라인/마커에 대한 축약어도 존재 한다
# 마커 축약어 plt.plot(x,y,marker='o', mfc='red', ms=10, mec='blue', ls=':'); # mfc = markerfacecolor # ms = markersize # mec = markeredgecolor # ls = linestyle
'빅데이터 > Data Visualization' 카테고리의 다른 글
데이터 시각화 06 - Matplotlib (DF활용/누적 막대/다중 막대/원그래프) (0) 2022.01.22 데이터 시각화 05 - Matplotlib (저장/텍스트/여러 데이터/막대그래프) (0) 2022.01.21 데이터 시각화 03 - 인터렉티브 시각화 / 시각화 디자인 원칙 (0) 2022.01.20 데이터 시각화 02 - 시각화 기술 (0) 2022.01.20 데이터 시각화 01 - 개념, 역사 그리고 기법 (0) 2022.01.16