美文网首页单细胞R学习与可视化绘图技巧
ggplot2画tSNE(UMAP)的聚类点图(带圈带阴影)

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

作者: 单细胞空间交响乐 | 来源:发表于2021-07-27 11:39 被阅读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"))  ###坐标轴的粗细
    
    图片

    对比一下:

    图片

    基础知识,多多学习

    相关文章

      网友评论

        本文标题:ggplot2画tSNE(UMAP)的聚类点图(带圈带阴影)

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