Seurat中的DimPlot固然能够绘制出相当不错的图,但是,DimPlot仍有着一些不可避免的缺陷。例如,不够灵活。
DimPlot也是基于ggplot的绘图方式,导出Seurat的RunUMAP结果,用ggplot进行绘图则更加容易美化。
1. 导出数据
umap = rna.exp@reductions$umap@cell.embeddings %>%
as.data.frame() %>%
cbind(tx = rna.exp@meta.data$seurat_clusters) # tx可替换为你所希望的列名
2. 绘图
ggumap <- ggplot(u.map, aes(x = UMAP_1, y = UMAP_2, color = tx)) +
geom_point(size = 5 , alpha =1 ) +
geom_text_repel(aes(label = rownames(umap)), # 添加数据标签 | repel为去除标签重叠
force = 3, size =3, fontface = "italic", #斜体
arrow = arrow(length = unit(0.02, "npc"), type = "open", ends = "last"),
nudge_x = 0.1, nudge_y = 0.06) # 调整标签位置
结果如下所示