Matplotlib 산점도(scatter plot)를 그룹별로 투명하게 표시하려면 scatter() 메서드의 인자에 alpha 값을 설정하면 됩니다. alpha 값은 0(완전히 투명)부터 1(완전히 불투명)까지 지정할 수 있으며, 그룹마다 다른 색상과 함께 적용하면 겹치는 데이터 포인트를 한눈에 구분할 수 있습니다.
구현 단계
그림(figure) 크기를 설정하고 서브플롯 주변 및 사이의 여백을 조정합니다.
그룹화된 x, y 좌표 데이터를 반환하는 함수를 작성합니다.
그룹 1과 그룹 2의 데이터 포인트를 각각 생성합니다.
scatter() 메서드를 사용해 그룹 1의 x, y 좌표를 초록색(green)으로, alpha=0.5 값과 함께 플롯합니다.
scatter() 메서드를 사용해 그룹 2의 x, y 좌표를 빨간색(red)으로, alpha=0.5 값과 함께 플롯합니다.
show() 메서드를 호출하여 그림을 화면에 표시합니다.
예제 코드
import numpy as np
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
def get_group_points():
return np.random.rand(100), np.random.rand(100),
group_1 = get_group_points()
group_2 = get_group_points()
plt.scatter(group_1[0], group_1[1], color='green', alpha=0.5, s=100)
plt.scatter(group_2[0], group_2[1], color='red', alpha=0.5, s=100)
plt.show()실행 결과
위 코드를 실행하면 초록색과 빨간색 데이터 포인트가 반투명하게 겹쳐 표시된 산점도를 확인할 수 있습니다. 두 그룹의 데이터가 같은 영역에 밀집되어 있어도 투명도 덕분에 각 포인트가 서로 가려지지 않고 분포를 명확하게 파악할 수 있습니다.

핵심 포인트
alpha 값을 낮출수록 산점도 점이 더 투명해져서 데이터가 많이 겹치는 영역을 쉽게 식별할 수 있습니다. 특히 대량의 데이터를 시각화할 때 alpha=0.3~0.5 범위의 값을 사용하면 밀집 구간의 분포를 더욱 직관적으로 분석할 수 있습니다.