美文网首页生物信息学科研绘图及生物美学专题
如何给散点图添加回归线和“等高线”

如何给散点图添加回归线和“等高线”

作者: 基迪奥生物 | 来源:发表于2019-06-13 17:13 被阅读0次

    前段时间,交流群(群号:154447756)有网友问如何给散点图添加回归线和“等高线”。

    在散点图上添加“密度曲线”,除了可以直观显示出点的密集程度,还可以让你的散点图显得“高大上”,就像PCA散点图上加上置信区间“椭圆”一样。无论如何,你的文章或答辩PPT中至少有一张看起来很牛X的图吧?

    由于手边没有Selective sweep analysis相关的数据,今天随便用个点数量较少一点的散点图,给大家分享一种用ggplot2给散点图上添加“等高线”的方法,如下: 

    #加载所需的R包

    library(ggplot2)

    library(RColorBrewer)

    #导入数据

    dt<-read.table("ma.txt",header = T,sep ="\t")

    head(dt)

    #绘制散点图

    p1<-ggplot(dt,aes(x=A,y=log2FC))+geom_point(aes(colour=A),colour="black",size=0.2,alpha=0.3)

    p1

    #添加回归线

    p2<-p1+geom_smooth(method =lm, se = F,colour="black",size=0.5)

    p2

    #在散点图上添加“等高线”

    p3<-p2+stat_density_2d(aes(colour=..level..))

    p3

    #自定义渐变颜色

    p4<-p3+scale_colour_gradient2("",low ="blue",mid ="red",high="yellow",midpoint =0.045)

    p4

    #当然也可以用R自带的渐变颜色,heat.colors()、cm.colors()等;

    p5<-p3+scale_color_gradientn(colours=topo.colors(7))

    p5

    p6<-p3+scale_color_gradientn(colours=rev(rainbow(7)))

    p6

    p7<-p3+scale_color_gradientn(colours=terrain.colors(7))

    p7

    #隐藏图例,更改图表主题,也可将图例置顶:legend.position="top"

    p7+theme_bw()+ theme(panel.border = element_blank(),

                         legend.position ="none",

                         panel.grid.major = element_blank(),

                         panel.grid.minor = element_blank(),

                         axis.line = element_line(size =0.4, linetype ="solid",

                                                 colour ="black"))

    更改主题后,图表的最终效果如下:

    本文的数据可通过点击这里 下载。今天的内容就到这里啦~

    参考文献

    Arnold B J, Lahner B, DaCosta J M, et al. Borrowed alleles and convergence in serpentine adaptation[J]. Proceedings of the National Academy of Sciences, 2016, 113(29): 8320-8325.

    为了更好的阅读体验,建议关注基迪奥生物公众号~

    相关文章

      网友评论

        本文标题:如何给散点图添加回归线和“等高线”

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