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 쳐야한다. 

[그림1] 점선 그래프 그리기

 

 

여러 개의 그래프 그리는 방법

# 여러 그래프 그리기 준비

plt.subplot(1, 2, 1) # ,matplot은 1부터 시작한다. (1 = 행의 개수, 2 = 열의 개수, 1 = 첫 번째)
plt.subplot(1, 2, 2)
plt.show()

 

[그림2] 여러 그래프 그리는 방법

 

 

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개 그래프

[그림3] 3행 2열이지만 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()

 

[그림4] Multi Graph

 

그래프 선 옵션

# 그래프 선 옵션

# 그래프를 그를 때 표시되는 색이나 마커 패턴을 바꾸는 것 확인
# 색상 -   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()

[그림5] 그래프 선 옵션

 

그래프 사이즈 조절

# 그래프 사이즈 조절
# plt.figure 안에 figsize를 이용해 가로, 세로 길이 조절 가능(inch 단위)

plt.figure(figsize=(10, 7)) # inch단위
plt.plot(data, 'k+')

plt.show()

# subplot에도 적용 가능하다. 그리고 맨 위에 있어야 적용이 된다. 위에서부터 아래로 인식하기 떄문.

[그림6] 그래프 사이즈 조절

 

 

그래프 겹치기, 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()

[그림7] 그래프 겹치기, legend 범례 

 

 

이름 달기

# 이름 달기

plt.plot(np.random.randn(1000).cumsum())
plt.title("Random Graph1")
plt.xlabel('Stages')
plt.ylabel('Values')
plt.show()

[그림8] 이름 달기

 

총합

# 종합

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()

[그림9] 총합

 

그래프 저장하는 방법

# 그래프 저장하는 방법
# 드래기 후 폴더에 저장가능
# 명령어 plot.savefig('save파일.png,jpg~~~`') # 현재 작업 환경 위치에 저장된다.
728x90
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기