单细胞DoHeatmap画热图标签出界

2020-10-23 11:35:24 浏览数 (2)

最近在分析单细胞数据,用DoHeatmap画热图的时候遇到一个问题,列标签(也就是每个细胞亚群的名字)出界了,在最后保存的图片里面不能完整显示。从下面的热图中可以看到,最后一个亚群Platelet超出了绘图区域,无法完整显示。

代码语言:javascript复制
load("pbmc3k_final.rds")
library(Seurat)
library(dplyr)
pdf('1.pdf', width = 14, height = 10)
DoHeatmap(scRNA, features = top5$gene, size = 3)   NoLegend()
dev.off()

查看一下DoHeatmap这个函数的参数

其中有三个参数是跟label(标签相关)

代码语言:javascript复制
size:控制标签字体的大小。
hjust:微调标签摆放的位置。
angle:控制标签摆放的角度。

那么下面我们通过修改这几个参数来调整标签的大小,位置和角度,让它能完整的显示在绘图区域

代码语言:javascript复制
pdf('2.pdf', width = 14, height = 10)
DoHeatmap(scRNA, features = top5$gene, size = 3, angle = -50, hjust=0.8)   NoLegend()
dev.off()

得到的结果如下

当然我们还有另一个解决方案,就是不显示标签,通过legend来展示每个亚群的名称,只需要去掉NoLegend(),并将label设置成FALSE就可以了

代码语言:javascript复制
DoHeatmap(scRNA, features = top5$gene, label=F) 

会得到如下的结果,我们可以通过每个亚群的颜色跟legend里面亚群的名字对应起来。

如果大家有更好的解决方法,欢迎下面留言讨论。

关注“生信交流平台”公众号,后台回复"DoHeatmap",获取pbmc3k_final.rds文件。

0 人点赞