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

在R语言中解决pheatmap热图行名不显示及形状调整问题

解决pheatmap行名不显示与热图正方形设置问题

行名无法显示的解决办法

  • 确认数据行名存在:先执行rownames(your_data)检查输出,如果返回NULL,需手动添加行名,示例:
    rownames(your_data) = paste("Row", 1:nrow(your_data), sep = "_")
    
  • 检查pheatmap参数:确保代码中设置了show_rownames = TRUE(默认值为TRUE,若被手动设为FALSE会隐藏行名)
  • 优化行名显示适配:若行名过长被画布截断,可通过fontsize_row缩小字号,或angle_row调整行名角度(如设为45),示例:
    pheatmap(your_data, show_rownames = TRUE, fontsize_row = 8, angle_row = 45)
    

设置热图为正方形

通过统一单元格的宽高参数实现,同时可调整聚类树高度适配整体形状:

pheatmap(
  your_data,
  cellwidth = 18,  # 单元格宽度
  cellheight = 18, # 单元格高度,与宽度保持一致
  treeheight_row = 25, # 行聚类树高度
  treeheight_col = 25  # 列聚类树高度
)

注:cellwidth和cellheight的具体数值需根据数据行列数调整,保证最终热图呈现正方形。

完整示例代码

# 构造示例数据
set.seed(123)
test_data = matrix(rnorm(121), nrow = 11, ncol = 11)
rownames(test_data) = paste("Gene", 1:11, sep = "-")
colnames(test_data) = paste("Sample", 1:11, sep = "-")

# 绘制符合要求的热图
library(pheatmap)
pheatmap(
  test_data,
  show_rownames = TRUE,
  fontsize_row = 9,
  cellwidth = 20,
  cellheight = 20,
  treeheight_row = 20,
  treeheight_col = 20
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 04:15:40