美文网首页单细胞测序
tidydr | 一行代码搞定小坐标系

tidydr | 一行代码搞定小坐标系

作者: 生信云笔记 | 来源:发表于2023-06-03 10:42 被阅读0次

日常瞎掰

  scRNA-seq数据聚类后会使用UMAP或者TSNE图来展示细胞分群结果。对于画这类降维图,Seuart包就可以轻松实现。不过,好像大家并不满足于Seuart包降维图的审美,越来越多的小坐标系降维图走进公众的视野。今天,我们就来说说如何轻轻松松用代码来画出小坐标系的UMAP/TSNE图。

  先瞅一眼效果图

绘图

  Seurat降维聚类后,可以使用DimPlot函数来画降维图,下面用UMAP图来展示:

library(Seurat)
library(RColorBrewer)

p <- DimPlot(obj,reduction='umap',cols=brewer.pal(10,'Paired'))
p

结果如下:

  可以看出Seurat画出的图与我们的目标只差一个坐标系格式的距离。那么,如何用一行代码来填平这一点距离呢?答案很简单,可以借用tidydr包的theme_dr函数来帮助我们实现目标:

library(tidydr)

p <- p + theme_dr()
p

结果如下:

  虽然theme_dr只需额外多增行一行代码就可以达到修改坐标线的目的,但是背景却多了不想要的网格。喜悦中多了一抹忧伤,原因在于theme_dr函数里面内置了ggplot2theme_minimal主题模板。不过,好在想去除ggplot2背景中的网格还是很省事的,只需再多填一句代码即可。既然这样,那咱们就用魔法来打败魔法:

library(ggplot2)

p <- p + theme(panel.grid=element_blank())
p

结果如下:

  至此,前面展示的效果图就完完全全地呈现在我们面前了。另外,theme_dr函数还有参数可以修改坐标轴的长短和箭头样式,这里没有展示,需要的话可以自行调整。

结束语

  当然,得到这样小坐标系的降维图,也可以在Seurat图的基础上利用AI或者PPT来修改,似乎也不怎么费事。不过,咱好像对代码有着偏爱的小执着,秉承着能用代码绝不动手的原则,好在可以使用别人造好的轮子,真的是省时省力!想想真不该有这样的小执着,解决问题才是关键,可是代码也确实是很好的工具,哎,放不下,根本放不下!当然,这么轻松可以绘出小坐标系的降维图,关键在于DimPlottheme_dr都是基于ggplot2的图层语法,才可以一两句代码搞定。ggplot2的图层语法真的是绘图界神一样的存在!

往期回顾

rnanorm | 一行命令搞定RNA-seq标准化
rGREAT | 基因组区间功能富集
利用UCSC预测启动子序列可能结合的转录因子
Vision | scRNA细胞相似性 + 差异signature
HiC | contacts vs distance

相关文章

网友评论

    本文标题:tidydr | 一行代码搞定小坐标系

    本文链接:https://www.haomeiwen.com/subject/ywwpedtx.html