单细胞R学习与可视化绘图技巧

ggplot2画tSNE(UMAP)的聚类点图(带圈带阴影)

2021-07-27  本文已影响0人  单细胞空间交响乐

今天我们学习一点简单的,实现下面这张图

图片.png

绘图:

1. 首先加载数据,然后用查看一下数据长什么样子

head(dat)
##          tSNE_1    tSNE_2  cell cluster
## 6A-11 -1.910859 -26.09210 6A-11       2
## 6A-13 -3.498666 -27.66961 6A-13       2
## 6A-14 -7.646899 -12.26195 6A-14       2
## 6A-15 -2.986069 -27.00602 6A-15       2
## 6A-16 -7.633320 -12.21226 6A-16       2
## 6A-17 -4.207616 -25.12467 6A-17       2

2. 开始画图:

首先,可以看出这张图是张点图,而x轴、y轴和点的颜色分别对应数据中的tSNE_1、tSNE_2和cluster,所以用映射来实现。
library(ggplot2)
ggplot(dat,mapping = aes(x=tSNE_1,
                         y=tSNE_2,
                         col=cluster))+
  geom_point()
图片

3. 给cluster添加一个圆圈在ggplot2中通过stat_ellipse()实现。

rm(list=ls())
load("for_tSNE.pos.Rdata")
ggplot(dat,mapping = aes(x=tSNE_1,
                         y=tSNE_2,
                         col=cluster))+
  geom_point()+
  stat_ellipse()
图片

4. 修改图片细节:

* stat_ellipse()中增加参数,按cluster画填充
ggplot(dat,mapping = aes(x=tSNE_1,
                         y=tSNE_2,
                         col=cluster))+
  geom_point()+
  stat_ellipse(aes(fill=cluster),
               geom = "polygon")
图片.png
* 把填充的透明度改一改
ggplot(dat,mapping = aes(x=tSNE_1,
                         y=tSNE_2,
                         col=cluster))+
  geom_point()+
  stat_ellipse(aes(fill=cluster),
               geom = "polygon",
               alpha=1/5)
图片
* 最后再对图片进行一些微调:点的大小、圆圈实线改虚线、圆圈线的粗细、坐标轴的出戏以及主题等等。
ggplot(dat,mapping = aes(x=tSNE_1,
                         y=tSNE_2,
                         col=cluster))+
  geom_point(size=2)+
  stat_ellipse(aes(fill=cluster),
               geom = "polygon",
               linetype = 2,        ###圆圈线的类型
               size=1,              ###圆圈线的粗细
               alpha=1/5)+
  theme_classic()+
  theme(axis.line = element_line(size=1.2, colour = "black"))  ###坐标轴的粗细
图片

对比一下:

图片

基础知识,多多学习

上一篇下一篇

猜你喜欢

热点阅读