[Python.MatPlotLib] Scatter Plot 실습

2021. 1. 4. 05:00Python과 머신러닝/MatPlotLib 데이터 시각화

0. 지난 포스트

 

1. 기본 Scatter Plot 그리기

In [1]:import numpy as np 
       import matplotlib.pyplot as plt

In [2]:data = np.random.rand(512,2) 
       data
Out[2]:array([[0.90814057, 0.74740473],
              [0.36071483, 0.27462119],
              [0.11167237, 0.66972617],
              ..., 
              [0.92874536, 0.73582877],
              [0.86799693, 0.45885252],
              [0.36208703, 0.18886905]])

In [3]:plt.scatter(data[:,0], data[:,1], c='y')
Out[3]:

Out[3]

  • In[2]는 512x2의 random array를 생성한다.
  • In[3]X축 데이터를 data 배열의 0번째 column, 데이터를 Y축 데이터를 data 배열의 1번째 column을 사용하고, 색깔은 yellow로 지정하라는 의미이다.
  • Out[3]와 같이 scatter plot이 그려지는 것을 확인할 수 있다.

 

2. Marker 지정하기

In [4]:plt.scatter(data[:,0], data[:,1], c='r', marker='*') 
       #https://matplotlib.org/3.3.3/api/markers_api.html#module-matplotlib.markers
Out[4]:

Out[4]

  • In[4]marker parameter를 통해 scatter plot의 종류를 지정해줄 수 있다.
  • default는 '.'이고, '*'을 써서 두 가지의 데이터를 구분하여 표현할 수 있어서 자주 사용되는 기능이다.
  • '.', '*' 외에도 다음과 같이 다양한 종류들이 있고, matplotlib 공식 웹사이트 링크도 첨부한다.

https://matplotlib.org/3.3.3/api/markers_api.html#module-matplotlib.markers

 

3. Marker Size 지정하기

In [5]:plt.scatter(data[:,0], data[:,1], c='r', marker='*', s=125) 
Out[5]:

  • In[5]s parameter를 통해서 marker의 크기를 지정할 수 있다.
  • 분포도를 표현할 때, 각각의 작은 점을 여러 개 표현하기보다, marker의 크기를 조정하여 어디에 분포도가 높은 지를 표현하는 것도 효과적인 방법이다.

 

4. Marker Size 지정 추가 예제

In [6]:N=50 
       x=np.random.rand(N) 
       y=np.random.rand(N)

In [7]:area = np.pi*(15*np.random.rand(N))**2

In [8]:plt.scatter(x,y,s=area)
Out[8]:

Out[8]

  • random X, Y값에 random area를 지정하면 Out[8]과 같이 다양한 크기의 marker가 표현되는 것을 확인할 수 있다.

 

5. 관련 포스트

 

반응형