scatter_paired_line
今天我们复现一幅2022年7月发表在nature communications
上的配对连线散点图
。
❝Title:Evaluation of transplacental transfer of mRNA vaccine products and functional antibodies during pregnancy and infancy
❞
之前复现过的「散点图」:
- 跟着 Cell 学作图 | 箱线图+散点(组间+组内差异分析)
- R实战 | 对称云雨图 + 箱线图 + 配对散点 + 误差棒图 +均值连线
- 跟着 Cell 学作图 | 分组抖动散点图+差异分析
- 跟着 Cell 学作图 | 分组蜂群图+均值线+差异分析(组间+组内)
本期图片
figure
结果展示
❝纯R实现,放心食用。
❞
复现结果
示例数据和代码领取
点赞
、在看
本文,分享至朋友圈集赞25个
并保留30分钟
,截图发至微信mzbj0002
领取。
「木舟笔记2022年度VIP可免费领取」。
木舟笔记2022年度VIP企划
「权益:」
- 「2022」年度木舟笔记所有推文示例数据及代码(「在VIP群里实时更新」)。
绘制
# 生成示例数据 dt = data.frame(sample = paste0('sample',1:30), A = runif(30,0,450), B = runif(30,100,500), C = runif(30,0,300)) head(dt) # 长宽转换 library(tidyverse) library(reshape2) dt_long <- melt(dt, measure.vars = c("A","B",'C'), variable.name = "group", value.name = "value") # 绘图 library(ggplot2) library(ggthemes) head(dt_long) # 绘制散点图+配对连线 p1 <- ggplot(dt_long,aes(group, value, fill = group))+ geom_line(aes(group = sample), size = 0.5)+#图层在下,就不会显示到圆心的连线 geom_point(shape = 21, size = 3, stroke = 0.6, color = 'black')+ scale_x_discrete(expand = c(-1.05, 0)) + # 坐标轴起始 scale_fill_manual(values = c('#800040','#fc6666','#108080'))+ geom_rangeframe() + # 坐标轴分离 theme_tufte() + theme(legend.position = 'none', # 标签字体等 axis.text.y = element_text(size = 14, face = "bold"), axis.text.x = element_text(size =14, face = "bold"), axis.title.y = element_text(size = 15, color = "black", face = "bold")) + labs(x = ' ', y = 'Values') p1 # 为了绘制原图的差异形式 手动计算p值 library(rstatix) result = t_test(dt_long,value~group) head(result) # 添加显著性标记 p2 <- p1 + coord_cartesian(clip = 'off',ylim = c(0,500))+ theme(plot.margin = margin(1,0,0,0.5,'cm'))+ annotate('segment',x=1,xend=1.99,y=510,yend=510,color='black',cex=.6)+ annotate('segment',x=1,xend=1,y=505,yend=515,color='black',cex=.6)+ annotate('segment',x=1.99,xend=1.99,y=505,yend=515,color='black',cex=.6)+ annotate('segment',x=2.01,xend=3,y=510,yend=510,color='black',cex=.6)+ annotate('segment',x=2.01,xend=2.01,y=505,yend=515,color='black',cex=.6)+ annotate('segment',x=3,xend=3,y=505,yend=515,color='black',cex=.6)+ annotate('segment',x=1,xend=3,y=530,yend=530,color='black',cex=.6)+ annotate('segment',x=1,xend=1,y=525,yend=535,color='black',cex=.6)+ annotate('segment',x=3,xend=3,y=525,yend=535,color='black',cex=.6)+ annotate("text", x = 1.5, y = 520, label ="p = 0.080",size = 6)+ annotate("text", x = 2.5, y = 520, label ="p = 0.129",size = 6)+ annotate("text", x = 2, y = 540, label ="p = 0.0004",size = 6) p2 ggsave('paired_scatter.pdf',p2,width = 8,height = 7)
复现结果
往期内容
- CNS图表复现|生信分析|R绘图 资源分享&讨论群!
- 这图怎么画| 有点复杂的散点图
- 这图怎么画 | 相关分析棒棒糖图
- 组学生信| Front Immunol |基于血清蛋白质组早期诊断标志筛选的简单套路
- (免费教程+代码领取)|跟着Cell学作图系列合集
- Q&A | 如何在论文中画出漂亮的插图?
- 跟着 Cell 学作图 | 桑葚图(ggalluvial)
- R实战 | Lasso回归模型建立及变量筛选
- 跟着 NC 学作图 | 互作网络图进阶(蛋白+富集通路)(Cytoscape)
- R实战 | 给聚类加个圈圈(ggunchull)
- R实战 | NGS数据时间序列分析(maSigPro)
- 跟着 Cell 学作图 | 韦恩图(ggVennDiagram)