使用python绘制日历热力图
- 日历热力图
- 效果
- 代码
日历热力图
日历热力图(Calendar Heatmap)是一种数据可视化图表,用于展示时间数据的分布和趋势。它将数据按天映射到一个日历中,通过颜色的变化表示每天的数据值大小。这种图表常用于展示一段时间内的数据趋势,例如年度活动、每日销售量、每日步数等。
效果
代码
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import calmap
import matplotlib.font_manager as fm
# 设置中文字体
# 可以使用系统内的中文字体,例如 SimHei 或者你电脑中的其他字体
# 请确保系统中有该字体,路径可以根据需要修改
# Windows 系统可以使用 C:\Windows\Fonts\SimHei.ttf
# macOS 系统可以使用 /System/Library/Fonts/STHeiti Medium.ttc
font_path = 'C:/Windows/Fonts/simhei.ttf'
my_font = fm.FontProperties(fname=font_path)
# 生成示例数据
dates = pd.date_range('2023-01-01', periods=365)
data = np.random.randint(0, 100, len(dates))
df = pd.DataFrame({'date': dates, 'value': data})
df.set_index('date', inplace=True)
# 使用 calmap 绘制日历热力图
plt.figure(figsize=(16, 10))
calmap.yearplot(df['value'], year=2023, cmap='YlGn', fillcolor='grey', linewidth=0.5)
# 添加标题
plt.title('日历热力图示例 (2023)', fontproperties=my_font)
plt.show()