# 히트맵 데이터 생성
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': 값에 따라 노란색에서 파란색으로 색상이 변함.