欢迎关注R语言数据分析指南
❝本节来绘制一个常见的相关性热图,图形与往常一样无过多变化。此次在代码上做了些许调整,可自定义调整的细节更多。下面小编就通过一个案例来进行介绍,数据为随意构建无实际意义,整个过程仅供参考。数据稍后会上传到交流群内,购买过小编绘图文档的朋友可在所加的交流群内获取下载,有需要的朋友可关注文末介绍购买小编的R绘图文档。购买前请咨询,零基础不要买。
结果展示
优化点
❝1.通过一个巧妙的方式,将Y轴文本移动到图中间位置
2.增加链接点修改点属性的代码
3.通过ggplot长表格的方式绘制相关性及p值
整体个代码过程还是比较有新意,认真学习一番定有收获
代码展示
library(tidyverse)
library(RColorBrewer)
library(ggtext)
library(magrittr)
library(reshape)
library(psych)
# install.packages("devtools")
# devtools::install_github("Hy4m/linkET", force = TRUE)
library(linkET)
library(ggnewscale)
library(corrplot)
varechem <- read_tsv("varechem.xls") %>% column_to_rownames(var="id")
table1 <- varechem %>% rownames_to_column(var="id") %>%
pivot_longer(-id) %>%
pivot_wider(values_from = value) %>%
column_to_rownames(var="id")
varespec <- read_tsv("varespec.xls") %>% column_to_rownames(var="id")
mantel <- mantel_test(varespec, table1,
spec_select = list(Spec01 = 1:7,
Spec02 = 8:18,
Spec03 = 19:20)) %>%
mutate(rd = cut(r, breaks = c(-Inf, 0.2, 0.4, Inf),
labels = c("< 0.2", "0.2 - 0.4", ">= 0.4")),
pd = cut(p, breaks = c(-Inf, 0.01, 0.05, Inf),
labels = c("< 0.01", "0.01 - 0.05", ">= 0.05")))
qcorrplot(correlate(table1,method = "pearson"),
diag=T,type="lower",grid_col = "white")+
geom_square() +
geom_text(data=p_value,aes(id,name,label=p_signif),inherit.aes = F,vjust=1)+
guides(size="none")+
scale_size_continuous(range = c(0,10)) +
new_scale("size")+
scale_fill_gradientn(colors=rev(COL2('RdBu',10)),na.value = "white")+
geom_couple(aes(colour=pd,size=rd),data=mantel,
label.colour = "black",
curvature=nice_curvature(),
label.fontface=0,
label.size =3.5,drop = T,
node.colour = c("white", "white"),
node.fill = c("#984EA3","#5785C1"),
node.size = c(4.5,4),
node.shape=c(23,21))+
coord_cartesian(clip="off")+
scale_size_manual(values = c(0.5,1,2))+
scale_colour_manual(values = c("#984EA3", "#4DAF4A", "grey"))+
guides(fill = guide_colorbar(title = "pearson's r",order = 1),
color = guide_legend(title = "*P* value",order = 2,
theme = theme(legend.title =
element_markdown(color="black"))),
size = guide_legend(title = "mantel's r",order = 3))+
theme(plot.margin = unit(c(0.5,0,0.5,0.5),units="cm"),
axis.text.y=element_blank(),
axis.text.x=element_markdown(size=9,color=c(rep("black",13),"white")),
axis.ticks =element_blank(),
panel.background = element_blank(),
legend.key = element_blank(),
legend.background = element_blank())
关注下方公众号下回更新不迷路
购买介绍
❝本节介绍到此结束,有需要学习R数据可视化的朋友欢迎到淘宝店铺:R语言数据分析指南,购买小编的R语言可视化文档(2024版),购买将赠送2023年的绘图文档内容。目前此文档(2023+2024)已经更新上传200案例文档,每个案例都附有相应的数据和代码,并配有对应的注释文档,方便大家学习和参考。
2024更新的绘图内容将同时包含数据+代码+注释文档+文档清单,2023无目录仅有数据文件夹,小编只分享案例文档,不额外回答问题,无答疑服务,零基础不推荐买。
案例特点
所选案例图均属于个性化分析图表完全适用于论文发表,内容异常丰富两年累计发布案例图200+,2024年6月起提供html版注释文档更加直观易学。文档累计上千人次购买拥有良好的社群交流体验。R代码结构清晰易懂,为防止中文乱码提供单独的注释文档