hexbin 은 Matplotlib의 기능으로, 2D 데이터 포인트를 육각형 모양의 그리드로 집계하여 시각화하는 데 사용됩니다. 주로 데이터가 너무 많아 산점도에서 겹치는 부분이 많을 때 유용합니다. hexbin은 각 육각형 셀에 포함된 데이터 포인트의 밀도를 색으로 표현하여, 데이터 분포를 한눈에 보기 쉽게 만듭니다.
주로 plt.hexbin(x, y)로 사용하며, x
, y
는 각각 X축과 Y축에 해당하는 데이터입니다. 이 함수는 밀도를 계산하고 색상 맵을 적용해 결과를 표시합니다.
기본 코드 사용법
plt.hexbin(x, y, gridsize=30, cmap='Blues')
주요 매개변수
매개변수 | 설명 |
---|---|
x, y | 2D 데이터 (산점도처럼 x, y 좌표를 입력) |
gridsize | 육각형의 개수 (기본값 100, 값이 작을수록 크기가 커짐) |
cmap | 색상 맵 (예: 'Blues' , 'inferno' ) |
extent | (xmin, xmax, ymin, ymax) 범위 지정 |
mincnt | 최소 카운트 이상만 표시 |
reduce_C_function | 데이터 집계 방법 (기본값: np.sum ) |
Hexbin Code
import matplotlib.pyplot as plt
import numpy as np
np.random.seed(0)
x = np.random.randn(10000)
y = np.random.randn(10000)
plt.figure(figsize=(10, 6))
hb = plt.hexbin(x, y, gridsize=50, cmap='Blues')
plt.colorbar(hb, label='Count')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('Hexbin Plot Example')
plt.grid(True) # Add grid for better visualization
plt.show()
hexbin과 scatter 차이점
특징 | scatter | hexbin |
---|---|---|
개별 데이터 점 | O | X (육각형으로 그룹화) |
밀도 표현 | 낮음 | 높음 (컬러로 표현) |
데이터 겹침 해결 | X | O |
빅데이터 시각화 | 부적절 | 적절 |
이 글을 정리하기 전까지는 사실 hexbin이라는 Plot가 있는 줄 몰랐습니다. 그런데 정리를 하다보니 있는 것을 알았고, 개인적으로 봤을때 데이터가 많을 때는 hexbin이 scatter이 더 깔끔하고, 효과적으로 보이는 것 같습니다.
이 Plot을 마지막으로 간단한 차트 그리기는 마무리하려고 합니다. 앞으로는 단순히 차트를 그리는 것에서 벗어나, 실질적인 분석에 활용할 수 있는 시각화를 만들어볼 계획입니다. 데이터 시각화는 생각보다 강력한 분석 도구로 작용할 수 있으며, 복잡한 데이터를 직관적으로 이해하는 데 큰 도움이 됩니다.
다만, 흔히 주식 시장에서 차트의 모양을 보고 패턴을 판단하는 방식은 사용하지 않을 예정입니다. 대신, 수치적으로 데이터를 표현하고 분석적인 통찰을 얻을 수 있는 시각화를 중심으로 다뤄보려고 합니다. 데이터를 보다 객관적이고 논리적으로 해석하는 방법에 집중하며, 의미 있는 패턴을 발견하는 데 초점을 맞출 계획입니다.