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

2021-07-12 15:51:05 浏览数 (1)

image.png

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

第一步是准备数据

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

数据格式如下

image.png

读取数据然后作图
代码语言:javascript复制
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

然后是最下侧四个点的位置坐标

代码

代码语言:javascript复制
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

代码

代码语言:javascript复制
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站账号 小明的数据分析笔记本

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

代码语言:javascript复制
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

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

今天推文的示例数据和代码下载链接会放到今天次条推文 (次条推文是广告,为了增加广告阅读,赚取更多收益,所以将代码下载链接放到次条留言区),大家需要示例数据和代码可以去次条留言区获取

欢迎大家关注我的公众号

0 人点赞