Data Analysis

Python/Matplotlip(시각화)

[Python] Matplotlib (6) 산점도 그리기

Holy_Water 2022. 11. 28. 17:12

산점도 (Scatter plot)는 두 변수의 상관 관계를 직교 좌표계의 평면에 점으로 표현하는 그래프입니다.
- matplotlib.pyplot 모듈의 scatter() 함수를 이용하면 산점도를 그릴 수 있습니다.
- Keyword: plt.scatter(), scatter plot, 산점도

 

 

기본 사용

np.random.seed(0)

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

plt.scatter(x,y)
plt.show()

- NumPy의 random 모듈에 포함된 rand() 함수를 사용해서 [0, 1) 범위의 난수를 각각 50개씩 생성했습니다.
- x, y 데이터를 순서대로 scatter() 함수에 입력하면 x, y 값에 해당하는 위치에 기본 마커가 표시됩니다.

 

 

 

색상과 크기 지정하기

np.random.seed(0)

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

area = (30*np.random.rand(n))**2
colors = np.random.rand(n)

plt.scatter(x,y, s=area, c=colors)
plt.show()

- scatter() 함수의 s, c 파라미터는 각각 마커의 크기와 색상을 지정합니다.
- 마커의 크기는 size**2 의 형태로 지정합니다.
- 예를 들어 plot() 함수에 markersize=20으로 지정하는 것과
- scatter() 함수에 s=20**2으로 지정하는 것은 같은 크기의 마커를 표시하도록 합니다.
- 마커의 색상은 데이터의 길이와 같은 크기의 숫자 시퀀스 또는 rgb, 그리고 Hex code 색상을 입력해서 지정합니다.

 

 

 

투명도와 컬러맵 설정하기

np.random.seed(0)

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

area = (30*np.random.rand(n))**2
colors = np.random.rand(n)

plt.scatter(x,y, s=area, c=colors, alpha=0.5, cmap='Spectral')
plt.colorbar()
plt.show()

- alpha 파라미터는 마커의 투명도를 지정합니다. 0에서 1 사이의 값을 입력합니다.
- cmap 파라미터에 컬러맵에 해당하는 문자열을 지정할 수 있습니다.