Matplotlib의 scatter() 메서드를 사용하면 간단하게 산점도(scatter plot)를 만들 수 있으며, 각 데이터 포인트마다 서로 다른 색상을 지정하는 것도 가능합니다. 이 글에서는 난수 데이터를 활용해 산점도를 그리고, 데이터 값에 따라 색상을 매핑하는 방법을 단계별로 살펴보겠습니다.
구현 단계
np.random.rand()메서드를 사용하여 지정한 크기만큼의 x축과 y축용 난수 값을 생성합니다.scatter()메서드를 사용하여 y값 대비 x값의 산점도를 그립니다. 이때 마커의 크기나 색상을 데이터에 따라 다르게 설정할 수 있으며, 여기서는 색상 범위를 0부터 1000까지로 지정합니다.plt.show()를 호출하여 완성된 그래프를 화면에 출력합니다.
예제 코드
import matplotlib.pyplot as plt import numpy as np x = np.random.rand(1000) y = np.random.rand(1000) plt.scatter(x, y, c=[i for i in range(1000)]) plt.show()
실행 결과

코드 설명
위 예제에서 np.random.rand(1000)은 0과 1 사이의 균일 분포를 따르는 난수 1,000개를 생성하여 x축과 y축 좌표로 사용합니다. 핵심은 scatter() 메서드의 c 파라미터입니다. 리스트 컴프리헨션으로 생성한 0부터 999까지의 값을 색상 인덱스로 전달하면, Matplotlib가 기본 컬러맵(colormap)을 기준으로 각 점에 순차적으로 다른 색상을 자동으로 할당합니다.
이처럼 색상 매핑을 활용하면 단순히 위치 정보만 보여주던 산점도에 세 번째 차원의 데이터를 시각적으로 표현할 수 있어, 데이터의 패턴이나 경향을 한눈에 파악하는 데 큰 도움이 됩니다.