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

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

图片.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"))  ###坐标轴的粗细
图片

对比一下:

图片

基础知识,多多学习

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

相关阅读更多精彩内容

友情链接更多精彩内容