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")) ###坐标轴的粗细
图片
对比一下:
图片基础知识,多多学习