Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 Matplotlib 산점도 그리기와 데이터 포인트별 색상 매핑 방법

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()

실행 결과

파이썬 Matplotlib 산점도 그리기와 데이터 포인트별 색상 매핑 방법

코드 설명

위 예제에서 np.random.rand(1000)은 0과 1 사이의 균일 분포를 따르는 난수 1,000개를 생성하여 x축과 y축 좌표로 사용합니다. 핵심은 scatter() 메서드의 c 파라미터입니다. 리스트 컴프리헨션으로 생성한 0부터 999까지의 값을 색상 인덱스로 전달하면, Matplotlib가 기본 컬러맵(colormap)을 기준으로 각 점에 순차적으로 다른 색상을 자동으로 할당합니다.

이처럼 색상 매핑을 활용하면 단순히 위치 정보만 보여주던 산점도에 세 번째 차원의 데이터를 시각적으로 표현할 수 있어, 데이터의 패턴이나 경향을 한눈에 파악하는 데 큰 도움이 됩니다.