如何移除ComplexHeatmap生成热图的右侧及底部注释?
解决ComplexHeatmap热图注释移除问题
1. 移除最右侧(行)随机注释
最右侧的随机注释大概率是代码中显式添加的行注释,或是数据混入非数值列被自动识别为注释。对应修改方案如下:
- 若代码里存在
right_annotation = rowAnnotation(...)这类参数,直接删除该参数;# 原代码(含右侧随机注释) library(ComplexHeatmap) ht <- Heatmap(your_matrix, right_annotation = rowAnnotation(random_tag = sample(1:nrow(your_matrix)))) draw(ht) # 修改后代码(移除右侧注释) library(ComplexHeatmap) ht <- Heatmap(your_matrix) draw(ht) - 若数据框中混入非数值列,提取纯数值矩阵再绘图:
# 提取数据框中的数值列转为矩阵 clean_matrix <- as.matrix(your_dataframe[, sapply(your_dataframe, is.numeric)]) ht <- Heatmap(clean_matrix) draw(ht)
2. 移除底部(列)冗余注释
底部冗余注释通常是通过columnAnnotation()或bottom_annotation参数添加的,直接移除对应配置即可:
# 原代码(含底部冗余注释) ht <- Heatmap(your_matrix, bottom_annotation = columnAnnotation(redundant_tag = sample(1:ncol(your_matrix)))) draw(ht) # 修改后代码(移除底部注释) ht <- Heatmap(your_matrix) draw(ht)
如果代码中无显式注释配置,检查是否调用了annotate_heatmap()这类自动生成注释的辅助函数,删除对应调用即可。
内容的提问来源于stack exchange,提问作者Anon
相关产品推荐
相关产品推荐

