You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R语言中为欧洲国家创建基于PC1得分的时序热力图

实现步骤(基于Python)

1. 数据预处理

先把数据整理成适配热力图的结构:

  • 每行对应一个欧洲国家
  • 每列对应一个日期(时间节点)
  • 单元格值为对应国家对应日期的PC1得分

如果你的数据是长格式(比如每行是「国家+日期+PC1得分」),用pandas转成宽格式:

import pandas as pd

# 假设长格式数据框名为df,列名是'country', 'date', 'PC1_score'
pivot_df = df.pivot(index='country', columns='date', values='PC1_score')

2. 绘制热力图

用seaborn搭配matplotlib实现,代码如下:

import seaborn as sns
import matplotlib.pyplot as plt

# 调整画布尺寸,适配时间轴的长度
plt.figure(figsize=(18, 10))

# 绘制热力图
sns.heatmap(pivot_df, 
            cmap='coolwarm',  # 配色方案,可替换为'viridis'/'RdBu_r'等
            linewidths=0.5,   # 单元格间的分隔线宽度
            cbar=True)        # 显示右侧颜色参考条

# 设置轴标签与标题
plt.xlabel('时间')
plt.ylabel('欧洲国家')
plt.title('欧洲各国COVID-19数据PC1得分热力图')

# 旋转X轴日期标签,避免重叠
plt.xticks(rotation=45)

# 自动调整布局,防止标签被截断
plt.tight_layout()
plt.show()

额外优化建议

  • 若日期过多导致X轴拥挤,可筛选关键时间节点(比如每周/每月取一个日期),或者调大figsize参数
  • 数据量较小时,可添加annot=True参数,在单元格内显示PC1得分的具体数值
  • 根据需求更换cmap参数,选择更贴合主题的配色方案

内容的提问来源于stack exchange,提问作者Billy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 23:15:53