본문 바로가기
데이터 분석/시각화

[산점도(Scatter Plot)] 1. Matplotlib을 이용하여 산점도 그리기

by 부자 꽁냥이 2021. 5. 21.

안녕하세요~ 꽁냥이에요. 데이터 분석 시 두 개의 연속형 변수가 있을 때 이들의 분포를 보기 위하여 산점도를 그립니다. 산점도는 각 변수의 분포뿐 아니라 두 변수간 상관관계도 시각적으로 파악할 수 있다는 장점이 있습니다.

 

이번 포스팅에서는 Matplotlib을 이용하여 산점도 그리는 방법을 알아보겠습니다.

 

여기서 다루는 내용은 다음과 같습니다.

 

1. 기본적인 산점도 그리기

2. 산점도 꾸미기

3. 산점도 여러개 겹쳐 그리기


   1. 기본적인 산점도 그리기

Matplotlib에서는 scatter 함수를 이용하여 산점도를 그릴 수 있습니다.

scatter 함수의 기본적인 사용법은 x축에 들어갈 데이터를 첫 번째 인자, y축에 들어갈 데이터를 두 번째 인자로 넣어주는 것입니다.


scatter(x, y)

 


이제 코드를 통하여 산점도를 그려봅시다~~ 먼저 필요한 모듈을 임포트합니다.

 

import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
from scipy.stats import norm

 

그리고 산점도를 그릴 데이터를 만들어줍니다.

 

np.random.seed(133)

num_data = 50
x = np.random.rand(num_data)
y = np.random.rand(num_data)

 

이제 산점도를 그릴 준비가 되었습니다.

 

fig = plt.figure(figsize=(8,8))
fig.set_facecolor('white')
plt.scatter(x, y)
plt.show()

 

 

코드를 실행해보면 위와 같이 기본적인 산점도가 그려진 것을 확인할 수 있습니다.


   2. 산점도 꾸미기

보기 좋은 떡이 맛도 좋다고 산점도 또한 꾸며줘야 더 정보력이 좋아 보일 수(?) 있습니다. 산점도에서는 주로 산점도에 표시되는 마커를 꾸미게 됩니다.

 

마커의 색상은 color, 마커 스타일은 marker, 마커 크기는 s, 그리고 마커 테두리 색상은 edgecolor로 설정할 수 있습니다. Matplotlib에서는 마커 스타일을 미리 정의해놓았습니다. 여기에 가셔서 확인해보세요. 아래 코드를 실행해보세요. 

 

fig = plt.figure(figsize=(8,8))
fig.set_facecolor('white')

plt.scatter(x, y, 
            color='red', ## 마커 색상
            marker = 'D', ## 마커 스타일
            s = 25, ## 마커 사이즈
            edgecolor = 'k' ## 마커 테두리 색상
           )
plt.show()

 

 

산점도가 예쁘게 그려진 것을 알 수 있습니다.

반응형

   3. 산점도 여러 겹쳐 그리기

scatter 함수를 여러 번 호출하면 산점도를 겹쳐 그릴 수 있어요. 아래 코드를 살펴볼게요.

 

np.random.seed(133)

num_data = 50
num_y = 3
x = np.random.rand(num_data)
ys = [norm.rvs(5*i,1,num_data) for i in range(num_y)]
colors = sns.color_palette('hls',num_y)

fig = plt.figure(figsize=(8,8))
fig.set_facecolor('white')

for i, y in enumerate(ys):
    plt.scatter(x, y, color=colors[i], label=f'Group({i})')
    
plt.legend()
plt.show()

 

line 3~6

산점도 여러 개를 그리기 위한 데이터를 만들어줍니다.

 

line 7

각 산점도 별로 색상을 다르게 하기 위하여 컬러 리스트를 만들어줍니다.

 

line 13

루프마다 scatter를 호출해줍니다.

 

위 코드를 실행해보세요.

 

 

산점도가 겹쳐 그려진 것을 확인할 수 있습니다.


이번 포스팅에서는 산점도를 그리고 꾸며보는 방법에 대해서 알아보았습니다. 다음 포스팅에서는 산점도를 좀더 멋지게 꾸며보는 방법에 대해서 알아보려고 합니다. 기대해주세요.

 

지금까지 꽁냥이의 글 읽어주셔서 감사합니다. 안녕히계세요~

 


댓글


맨 위로