在R语言中使用pheatmap包绘制热图时如何添加图注?
pheatmap热图添加图注的实现方法
pheatmap包本身没有内置图注相关的参数,你可以通过以下两种常用方案实现需求:
方案1:基于grid图形系统直接添加图注
pheatmap底层基于grid绘图体系,绘图完成后直接调用grid.text()即可在画布任意位置添加文本类图注:
# 加载依赖包 library(pheatmap) library(grid) # 绘制热图 pheatmap(x) # 添加底部居中的图注 grid.text("图1 基因表达量差异热图", x = 0.5, # 水平位置:0为最左,1为最右,0.5为居中 y = 0.02, # 垂直位置:0为最下,1为最上,可按需调整 gp = gpar(fontsize = 12, col = "black"))
如果需要添加竖排侧边图注,增加rot = 90参数即可旋转文本。
方案2:转为ggplot对象后添加图注
如果需要和其他ggplot格式图片统一样式、或者后续要做图片拼接,可以将pheatmap对象转为ggplot格式后调用ggplot的图注配置逻辑:
# 加载依赖包 library(pheatmap) library(ggplotify) library(ggplot2) # 静默绘制热图(不直接弹出绘图窗口) p <- pheatmap(x, silent = TRUE) # 转为ggplot对象并添加图注 as.ggplot(p) + labs(caption = "图1 基因表达量差异热图") + theme( plot.caption = element_text(hjust = 0.5, size = 12, color = "black") )
注意事项
- 采用方案1时,需要在调用
grid.text()添加完图注后再执行图片保存操作,否则图注不会被写入输出文件 - 两种方案的字体、字号、颜色、位置参数都可以根据自己的排版需求灵活调整
内容的提问来源于stack exchange,提问作者Zahra_fa
相关产品推荐
相关产品推荐

