其他
R绘图模板——气泡图+注释+配对连线!!!
点击上方
“科研后花园”
关注我们
绘图代码如下:
1、设置工作环境:
rm(list = ls())
setwd("D:/桌面/气泡图+注释+配对连线")
#加载R包
library(ggplot2)
2、绘制气泡图:
#加载数据(数据随意编写,无实际意义)
df <- read.table(file="data.txt",sep="\t",header=T,check.names=FALSE)
df$group1 <- factor(df$group1,levels = df$group1[1:40])
df$group2 <- factor(df$group2,levels = c("AAA","BBB","CCC","DDD","EEE","FFF","GGG"))
#绘图
p1 <- ggplot(df, aes(sample, group1))+
geom_point(aes(color=group2,size=value),alpha=0.6)+
scale_color_manual(values = c("#ff0000","#ffed00","#ff0092","#00b2a9",
"#00c7f2","#dc5034","#a626aa"))+
scale_size_continuous(range = c(0.1, 7))+
theme_bw()+
theme(panel.grid = element_blank(),
axis.text=element_text(color='black',size=12),
legend.text = element_text(color='black',size=12),
plot.margin= margin())+
labs(x = NULL, y = NULL)+
guides(color=guide_legend(override.aes = list(size=6,alpha=1)))
p1
3、绘制配对连线:
#获取气泡图的坐标值
plot_build <- ggplot_build(p1)
coords <- plot_build$data[[1]][, c("x", "y")]
#通过气泡图的坐标值构建配对网络数据的坐标
df_line <- read.table(file="data_line.txt",sep="\t",header=T,check.names=FALSE)
#绘制网络连线图
p2 <- ggplot(df_line)+
geom_segment(aes(x1,y1,xend=x2,yend=y2,color=group1),size=0.5)+
geom_point(aes(x=x1,y=y1,fill=group1),size=3.5,color="#c68143",
stroke=0.5,shape = 21)+
geom_point(aes(x=x2,y=y2),size=3.5,
fill="#004eaf",color="#c68143",
stroke=0.5,shape = 21)+
scale_y_continuous(limits = c(0.5,40.5),expand = c(0,0))+
scale_color_manual(values = c("#47cf73","#ff3c41","#76daff","#ffa500"))+
scale_fill_manual(values = c("#47cf73","#ff3c41","#76daff","#ffa500"))+
theme_void()+
theme(legend.position = "none",
plot.margin= margin())+
geom_text(aes(x1-0.2,y1,label=group1))
p2+geom_text(aes(x2+0.1,y2,label=group2))#检查y轴是否对应
4、拼图并基于AI进行调整:
library(patchwork)
p2+p1+plot_layout(widths = c(1, 2))
PS: 以上内容是小编个人学习代码笔记分享,仅供参考学习,欢迎大家一起交流学习。
完整代码(附带注释)及原始数据获取:
夸克网盘(手机端下载夸克APP进行搜索提取):
链接:https://pan.quark.cn/s/dacf2b1d6d6e
提取码:KdNe
【科研后花园】公众号运营差不多一年了,首先很感谢大家一直以来的支持和鼓励。作为学生,精力毕竟有限,一个人运营公众号其实还蛮幸苦的,所以经常会出现断更或者不更的情况,希望大家也理解一下!还有几点事情想跟大家说明一下:
1)有很多粉丝询问有没有交流学习群?针对这一点小编在这里说明一下:目前小编没有建立任何微信交流群或者QQ交流群,希望大家警惕任何以该公众号名义建立的通过收费加入的学习交流群!
2)推文代码获取主要以每一篇推文后留的下载链接为主要渠道,代码合集系列目前小编也只整理了微生物组下游分析合集和R绘图模板合集两个系列,想要的小伙伴可以去公众号后台查询获取方式(小编也更新过相关推文合集)!
3)有很多同学询问小编能不能进行绘图合作,这个是根据小编个人时间和精力进行决定的,如果小编最近没时间,那就会跟大家明确提出拒绝合作的,希望理解!
4)还有很多添加小编微信的同学,不管是大家想获取代码、商务合作或是代绘图,希望大家在添加时备注来意!
最后,真诚祝愿各位学业有成,科研顺利,SCI一投即中