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

如何在R语言热图中显示所有轴标签(含全部年份)?

解决R语言heatmap.2热图Y轴年份标签缺失的问题

核心原因

默认情况下heatmap.2()会对行进行聚类排序,同时自动隐藏部分标签防止重叠,导致年份标签显示不全。要显示全部年份,需从关闭聚类和调整标签显示参数两方面入手。

方法1:关闭聚类+调整标签角度

通过关闭行聚类保持年份顺序,同时设置标签旋转角度和字体大小,确保所有标签显示:

year = seq(from=1971,to=2020,by=1)
jan = runif(n = 50, min = -3, max = 3)
feb = runif(n = 50, min = -3, max = 3)
mar = runif(n = 50, min = -3, max = 3)
apr = runif(n = 50, min = -3, max = 3)
may = runif(n = 50, min = -3, max = 3)
jun= runif(n = 50, min = -3, max = 3)
jul= runif(n = 50, min = -3, max = 3)
aug= runif(n = 50, min = -3, max = 3)
sep= runif(n = 50, min = -3, max = 3)
oct= runif(n = 50, min = -3, max = 3)
nov= runif(n = 50, min = -3, max = 3)
dec= runif(n = 50, min = -3, max = 3)

df = data.frame(year,jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec)
rownames(df) <- df$year
df=df[,-1]
df=as.matrix(df)
my_palette <- colorRampPalette(c("red", "white", "blue"))(n = 9)

# 修改后的heatmap.2调用
heatmap.2(df, scale = "none", col = my_palette, 
          trace = "none", density.info = "none", main = "Bohicon",
          Rowv = NA,  # 关闭行聚类,保持原始年份顺序
          cexRow = 0.7,  # 缩小标签字体,避免重叠
          srtRow = 45,  # 将标签旋转45度
          adjRow = c(1, 0.5)  # 配合旋转角度调整标签对齐方式
          )

参数说明:

  • Rowv = NA:取消行聚类,确保年份按1971-2020的原始顺序排列,这是显示全部年份的基础
  • cexRow:控制行标签字体大小,可根据图的大小调整(比如0.6-0.8)
  • srtRow:标签旋转角度,常用45度或90度,90度时可将adjRow设为c(0.5,1)

方法2:错位排列标签(避免重叠)

如果不想旋转标签,可通过自定义行标签的缩进实现错位排列,让奇数行和偶数行标签错开:

# 自定义错位标签
row_labels <- ifelse(as.integer(rownames(df)) %% 2 == 0, 
                     paste0("  ", rownames(df)),  # 偶数行加空格缩进
                     rownames(df))

heatmap.2(df, scale = "none", col = my_palette, 
          trace = "none", density.info = "none", main = "Bohicon",
          Rowv = NA,
          cexRow = 0.7,
          RowLabels = row_labels  # 使用自定义错位标签
          )

这种方式通过给偶数行标签添加前置空格,让上下标签错开,减少横向重叠,同时保持标签水平显示。

补充说明

如果需要保留行聚类但仍显示全部标签,只需移除Rowv = NA,同时调整cexRow和srtRow参数即可,但聚类后行顺序会打乱,年份不再按顺序排列。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 03:15:39