R语言ggplot2画点和连线展示Mantel检验的结果~示例数据和代码可以获取

image.png

最近看到好几个群里都在讨论这个图,今天的推文就来介绍一下这个图左下角基于散点和带弧度的线段实现办法,右上角关于方块热图之前介绍过代码,大家感兴趣的可以翻翻之前的推文

第一步是准备数据

首先是黑色点的坐标位置,这个是取决于右上角热图的数据多少,比如开头的图热图展示的是13个变量,那对角线那一列黑色的点的位置坐标x是1-14,y也是1-14

数据格式如下

image.png
读取数据然后作图
library(readxl)
df1<-read_excel("Cor/exampledf.xlsx",
                sheet = "Sheet1")
df1
library(ggplot2)
ggplot()+
  geom_point(data=df1,aes(x=x,y=y))
image.png
然后是最下侧四个点的位置坐标

代码

df2<-read_excel("Cor/exampledf.xlsx",
                sheet = "Sheet2")
ggplot()+
  geom_point(data=df1,aes(x=x,y=y))+
  geom_point(data=df2,aes(x=x,y=y))
image.png

然后是连线的数据

image.png

代码

df3<-read_excel("Cor/exampledf.xlsx",
                sheet = "Sheet3")

ggplot()+
  geom_point(data=df1,aes(x=x,y=y))+
  geom_point(data=df2,aes(x=x,y=y))+
  geom_curve(data=df3,aes(x=xmin,y=ymin,
                          xend=xmax,yend=ymax,
                          color=pvalue,
                          size=rvalue),
             curvature = -0.05)+
  scale_size_continuous(range = c(0.1,1))+
  scale_color_manual(values=c("#b85315","#189164","#bababa"))+
  theme_void()
image.png

这个连线的数据我不知道大家看明白没有,用文字描述我还真说不清楚,争取录制一个视频放到B站,大家可以关注我的B站账号 小明的数据分析笔记本

下面的黑点被线段遮住了,我们可以把散点的代码写道最后就可以了

ggplot()+
  geom_curve(data=df3,aes(x=xmin,y=ymin,
                          xend=xmax,yend=ymax,
                          color=pvalue,
                          size=rvalue),
             curvature = -0.05)+
  scale_size_continuous(range = c(0.1,1))+
  scale_color_manual(values=c("#b85315","#189164","#bababa"))+
  theme_void()+
  geom_point(data=df1,aes(x=x,y=y))+
  geom_point(data=df2,aes(x=x,y=y))

image.png

好了今天的推文就先介绍到这里了,如何将方块热图添加到右上角后面有时间再来介绍

今天推文的示例数据和代码下载链接会放到今天次条推文留言区获取

欢迎大家关注我的公众号
小明的数据分析笔记本

小明的数据分析笔记本 公众号 主要分享:1、R语言和python做数据分析和数据可视化的简单小例子;2、园艺植物相关转录组学、基因组学、群体遗传学文献阅读笔记;3、生物信息学入门学习资料及自己的学习笔记!

你可能感兴趣的:(R语言ggplot2画点和连线展示Mantel检验的结果~示例数据和代码可以获取)