카테고리 없음

히트맵에 대해

jaman 2025. 1. 12. 22:21
# 히트맵 데이터 생성
heatmap_data = click_stream_df.pivot_table(index='event_name', columns='event_time_month', aggfunc='size', fill_value=0)

# 히트맵 그리기
#label: 젤 오른쪽 막대기
#
plt.figure(figsize=(12, 8))  # 전체 그림 크기 조정
sns.heatmap(heatmap_data, annot=True, fmt='d', cmap='coolwarm', cbar_kws={'label': 'Frequency'}, annot_kws={"size": 10})  # 글자 크기 조정
plt.title("Event Frequency by Month and Event Name", fontsize=16)  # 제목 추가
plt.xlabel("Month", fontsize=12)  # x축 라벨 크기
plt.ylabel("Event Name", fontsize=12)  # y축 라벨 크기
plt.tight_layout()  # 레이아웃 조정
plt.show()

 

1. annot=True

  • 역할: 히트맵의 각 셀 안에 값을 표시할지를 결정.
  • True로 설정: 셀 내부에 숫자(데이터 값)를 표시.
  • False로 설정: 셀 안에 아무것도 표시되지 않아.
python
코드 복사
sns.heatmap(data, annot=True)
  • 히트맵의 각 셀 안에 숫자(데이터 값)가 표시돼.
  • 숫자가 표시되면 데이터 값을 시각적으로 더 쉽게 파악할 수 있어.

2. fmt='d'

  • 역할: 셀 안에 표시되는 숫자의 포맷을 지정.
  • 'd': 정수 형식으로 숫자를 표시.
  • 다른 포맷 코드:
    • 'f': 소수점 포함한 실수 형식 (12.34 등).
    • '.1f': 소수점 1자리까지만 표시 (12.3).
    • '.2f': 소수점 2자리까지 표시 (12.34).
python
코드 복사
sns.heatmap(data, annot=True, fmt='d')
  • 각 셀 내부에 정수 형식으로 값을 표시.

3. cmap='YlGnBu'

  • 역할: 히트맵의 색상 팔레트를 설정.
  • 'YlGnBu': Yellow-Green-Blue 팔레트를 사용.
    • 값이 작을수록 노란색(Yellow).
    • 값이 중간이면 초록색(Green).
    • 값이 클수록 파란색(Blue).
python
코드 복사
sns.heatmap(data, cmap='YlGnBu')
  • 작은 값은 노란색, 큰 값은 파란색으로 표현돼.
  • 다른 컬러맵:
    • 'coolwarm': 차가운 색(파랑)에서 뜨거운 색(빨강)으로 변함.
    • 'viridis': 초록색~보라색.
    • 'cividis': 컬러맵의 색 대비가 더 강함.

전체 예시

python
코드 복사
sns.heatmap(data, annot=True, fmt='d', cmap='YlGnBu')
  • annot=True: 셀 안에 값을 표시.
  • fmt='d': 값을 정수로 표시.
  • cmap='YlGnBu': 값에 따라 노란색에서 파란색으로 색상이 변함.