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')
#파이썬을 이용한 빅데이터 분석 ㅣ 유성준 교수님 자료 참고
'데이터 처리 > 빅데이터 분석 (Big data) in Python' 카테고리의 다른 글
기계학습 (머신 러닝 ) 용어 및 개요 (0) | 2020.01.09 |
---|---|
matplotlib 히스토그램, Seaborn 시각화 (0) | 2020.01.05 |
파이썬을 이용한 시각화 1 : DataFrame 활용 (0) | 2020.01.03 |
NumPy 와 Pandas (1) | 2020.01.02 |