728x90
반응형
패키지 로드
# 패키지 로드
import numpy as np
import matplotlib.pyplot as plt # jupyter에서만 가능 matplotlib는 주피터 내부에 그림을 올린다는 명령어
Basic Attributes
Basic Attributes | Basic Attributes |
alpha | 투명도 |
kind | 그래프 종류 'line', 'bar', 'barh', 'kde' |
logy | Y축에 대해 Log scaling |
use_index | 객체의 색인을 눈금 이름으로 사용할지 여부 |
rot | 눈금 이름 돌리기 (rotating) 0~360 |
xticks, yticks | x, y축으로 사용할 값 |
xlim, ylim | X, Y축의 한계 |
grid | 축의 그리드를 표현할지 여부 |
subplots | 각 column에 독립된 subplot 그리기 |
sharex, sharey | subplots = True이면 같은 X,Y축을 공유하기 눈금과 한계를 연결 |
figsize | 생성될 그래프의 크기를 tuple로 지정 |
title | 그래프의 제목 지정 |
legend | subplot의 범례 지정 |
sort_columns | column을 알파벳 순서로 그린다. |
점선 그래프 그리기
# 점선 그래프 그리기
data = np.random.randn(50).cumsum()
print("data : ",data)
plt.plot(data) #
plt.show() # 이미지 보이기 , 주피터에서는 기본으로 show 안써도 보이지만 다른 곳에서는 show 쳐야한다.
여러 개의 그래프 그리는 방법
# 여러 그래프 그리기 준비
plt.subplot(1, 2, 1) # ,matplot은 1부터 시작한다. (1 = 행의 개수, 2 = 열의 개수, 1 = 첫 번째)
plt.subplot(1, 2, 2)
plt.show()
plt.subplot(3, 2, 1)
plt.subplot(3, 2, 2)
plt.subplot(3, 2, 3)
plt.subplot(3, 2, 4)
plt.subplot(3, 2, 5) #3행 2열
plt.show() # 5개 그래프
Multi Graph
# Multi Graph 그리기
hist_data = np.random.randn(100)
scat_data = np.arange(30)
plt.subplot(2, 2, 1) # 서브plot생성
plt.plot(data) # 서브 plot에 넣기
plt.subplot(2, 2, 2) # 서브 plot 2번째 생성
plt.hist(hist_data, bins = 20) # 히스토그램 subplot에 히스토그램 넣기
plt.subplot(2, 2, 3) # subplot 3번째
plt.scatter(scat_data, np.arange(30) + 3 * np.random.randn(30)) # 스케터 - 산점도 3번째 subplot에 산점도 넣기
plt.show()
그래프 선 옵션
# 그래프 선 옵션
# 그래프를 그를 때 표시되는 색이나 마커 패턴을 바꾸는 것 확인
# 색상 - a(파란색),g(초록색),r(빨간색),c(청록색),y(노란색),k(검은색),w(흰색)
# 마커 - o(원),v(역삼각형), ^(삼각형),s(네모), +(플러스), .(점)
# 그래프 선 옵션
plt.subplot(3, 2, 1)
plt.plot(data, 'g') # 초록색
plt.subplot(3, 2, 2)
plt.plot(data, 'r') # 빨간색
plt.subplot(3, 2, 3)
plt.plot(data, 'v' )
plt.subplot(3, 2, 4)
plt.plot(data, 'g^') # 초록색 삼각형
plt.subplot(3, 2, 5)
plt.plot(data, 'y.') # 검정색 점
plt.subplot(3, 2, 6)
plt.plot(data, 'k+')
plt.show()
그래프 사이즈 조절
# 그래프 사이즈 조절
# plt.figure 안에 figsize를 이용해 가로, 세로 길이 조절 가능(inch 단위)
plt.figure(figsize=(10, 7)) # inch단위
plt.plot(data, 'k+')
plt.show()
# subplot에도 적용 가능하다. 그리고 맨 위에 있어야 적용이 된다. 위에서부터 아래로 인식하기 떄문.
그래프 겹치기, legend 범례 활용
# 그래프 겹치기 + legend 달기
data = np.random.randn(30).cumsum() # cumsum() 누적합
plt.plot(data, 'k--', label ="Defalut")
plt.plot(data, 'k-', drawstyle='steps-post', label='steps-post')
plt.legend() # 왼쪽 상단 default, steps-post 범례 지정
plt.show()
이름 달기
# 이름 달기
plt.plot(np.random.randn(1000).cumsum())
plt.title("Random Graph1")
plt.xlabel('Stages')
plt.ylabel('Values')
plt.show()
총합
# 종합
plt.plot(np.random.randn(1000).cumsum(), 'k.', label="one" )
plt.plot(np.random.randn(1000).cumsum(), 'b+', label='two' )
plt.plot(np.random.randn(1000).cumsum(), 'g^', label='three')
plt.legend()
plt.show()
그래프 저장하는 방법
# 그래프 저장하는 방법
# 드래기 후 폴더에 저장가능
# 명령어 plot.savefig('save파일.png,jpg~~~`') # 현재 작업 환경 위치에 저장된다.
728x90
반응형
최근댓글