본문 바로가기
데이터 처리/빅데이터 분석 (Big data) in Python

파이썬을 이용한 시각화2 : Matplotlib을 활용한 선 시각화 , 산점도 시각화

by Jun_N 2020. 1. 4.

 

Matplotlib란?

 

막대그래프, 히스토그램, 파이차트, 산점도 등 그래프를 그릴 때 주로 쓰이는 2D , 3D 플롯팅 패키지이다.

 

이를 사용하기 위해서는 설치를 먼저 진행하여야 한다.

 

 

 

1차원 데이터 생성 및 시각화 하기

 

1. package 가져오기 및 matplotlib 출력 옵션 설정

import matplotlib as mpl
import matplotlib.pyplot as plt   # matplotlib의 서브패키지로 플롯을 그려주는 패키지
import numpy as np

%matplotlib inline # 시각화 결과를 출력하는 구문

2. 임의의(랜덤) 값 40개로 이루어진 배열 변수 생성

 

value=np.random.standard_normal(40)
value

 

array형태로 생성됨

 

 

3. 선 Plot 그리기 및 x/y축 범위 설정

 

index=range(len(value)) #연속적인 값을 갖는 자료
plt.plot(index.value) #선이나 마커를 플롯하는 함수

#x/y축 범위 설정
plt.xlim(0,20)
plt.ylim(np.min(value)-1, np.max(value)+1)

4.Plot 옵션 설정 및 꾸미기

 

#plot의 새로운 figure(모양)을 생성하는 함수
plt.figure(figsize=(7,4)) 
#plot 함수 호출
plt.plot(value.cumsum(),'b',lw=1.5) #두번째 파라미터의 첫번째 문자는 표시할 색깔(b는 파란색)
plt.plot(value.cumsum(),'ro') # 두번째 파라미터의 두번째 문자는 표시할 스타일 (ro은 빨간색 동그라미)
# x축,y축 이름 설정
plt.xlabel('index')
plt.ylabel('value')
#전체 plot 이름
plt.title('Line Plot 1')

 

 

 

 

 

 

2차원 데이터 생성 및 시각화 하기

1. package 가져오기 및 matplotlib 출력 옵션 설정

import matplotlib as mpl
import matplotlib.pyplot as plt   # matplotlib의 서브패키지로 플롯을 그려주는 패키지
import numpy as np

%matplotlib inline # 시각화 결과를 출력하는 구문

 

2. 임의의(랜덤) 값 2차원 배열 변수 생성

value=np.random.standard_normal((30,2)) #30 * 2
value

array형태로 생성됨

 

 

3. 그래프 그리기

 

#plot의 새로운 figure(모양)을 생성하는 함수
plt.figure(figsize=(10,4)) 
#plot 함수 호출
plt.plot(value[:,0],lw=1.5,label='1st') #lw은 선의 굵기
plt.plot(value[:,1],lw=1.5,label='2nd')
plt.plot(value,'ro') #빨갠색 동그라미

plt.grid(True) #격자표시
plt.legend(loc=0) #그래프 상자 안 최적의 위치에 범례 표시

# x축,y축 이름 설정
plt.xlabel('index')
plt.ylabel('value')
#전체 plot 이름
plt.title('Line Plot 2')

 

 

4, 데이터 별로 각각 그리기

#pyplot.subplot(행개수 열개수 플롯번호) #서브플롯을 반환하는 함수

#1번째
plt.figure(figsize=(10,4)) 

#subplot
plt.subplot(2 1 1) # 2 * 1 개로 이루어진 서브플롯 중 첫번째 서브 플롯
#plot 함수 호출
plt.plot(value[:,0],lw=1.5,label='1st') #lw은 선의 굵기
plt.plot(value[:,0],'ro') #빨갠색 동그라미

plt.grid(True) #격자표시
plt.legend(loc=0) #그래프 상자 안 최적의 위치에 범례 표시

plt.ylabel('value')
#전체 plot 이름
plt.title('Line Plot 3')


#2번째
#subplot
plt.subplot(2 1 2) # 2 * 1 개로 이루어진 서브플롯 중 2번째 서브 플롯
#plot 함수 호출
plt.plot(value[:,1],lw=1.5,label='2nd') #lw은 선의 굵기
plt.grid(True) #격자표시
plt.legend(loc=0) #그래프 상자 안 최적의 위치에 범례 표시
plt.axis('tight')
plt.ylabel('value')

 

 

 

 

 

산점도(Scatter plot)

: x,y축에 사용된 변수 간의 관계를 점으로 나타내는 시각화 방법

 

#plot을 활용한 산점도 그리기

value=np.random.stadard_normal((500,2))
plt.plot(value[:,0],value[:,1],'ro')
plt.grid(False)
plt.xlabel('value1')
plt.ylabel('value2')
plt.tile('Scatter Plot 1')

 

 

#scatter()를 활용한 산점도 그리기
#산점도 색깔 입히기 
color=np.random.randint(0,10,len(value)) 

plt.figure(figsize=(7,5))
plt.scatter(value[:,0],value[:,1],c=color,maker='o') 
plt.colorbar() #색깔 막대기 추가

plt.grid(True)
plt.xlabel('value1')
plt.ylabel('value2')
plt.tile('Scatter Plot 1')

 

 

 

 

 

 

#파이썬을 이용한 빅데이터 분석 ㅣ 유성준 교수님 자료 참고