如何修改pheatmap热图中列注释分组Control与Treated的显示颜色?
解决方法
你可以通过pheatmap的annotation_colors参数自定义列分组的注释颜色,操作步骤如下:
- 先构造自定义颜色列表,列表结构需要和你的注释信息对应:
# 自定义分组注释颜色,可自行替换为你需要的色值 anno_colors <- list( # 外层名称必须和注释数据框group_df的列名「Groups」完全一致 Groups = c( # 内层命名必须和分组的取值完全对应,色值支持十六进制或R内置颜色名 Control = "#2E8B57", Treated = "#FFD700" ) )
- 在调用
pheatmap绘图时,新增annotation_colors参数传入上述列表即可,完整绘图代码如下:
pheatmap(test, cluster_cols = FALSE, scale = 'row', annotation_col = group_df, annotation_colors = anno_colors, # 新增这一行传入自定义颜色 show_colnames = FALSE, border_color = "white", colorRampPalette(c("#00FF00", "white", "#DC143C"))(75), gaps_col = cumsum(c(5,5)))
注意事项
- 自定义颜色列表的外层键名必须和注释数据框的列名完全匹配,大小写、拼写不能有差异
- 颜色列表内层的键名必须和分组的实际取值完全对应,数量要和分组数一致
- 颜色可以用R内置的颜色名称(如
"blue"、"orange"),也可以用十六进制颜色码,可按需自定义
内容的提问来源于stack exchange,提问作者user2110417
相关产品推荐
相关产品推荐

