You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用cowplot的plot_grid组合带ggbreak轴断裂的火山图时轴断裂效果消失的问题求助

使用cowplot的plot_grid组合带ggbreak轴断裂的火山图时轴断裂效果消失的问题求助

我最近在做火山图可视化时遇到了个头疼的问题,想请大家帮忙分析下原因。

我用ggplot2绘制了两张火山图,由于两张图里都存在离群点,为了让可视化效果更清晰,我用ggbreak包的scale_y_break()给Y轴添加了断裂效果——单独查看每张处理后的图(比如p1和p3)时,轴断裂的显示是完全正常的。

可当我尝试用cowplot包的plot_grid()把这两张带轴断裂的图放在同一页面展示时,奇怪的事情发生了:组合后的图里完全看不到我设置的轴断裂效果,就好像直接用了没加断裂的原始图一样。

以下是我绘制其中一张图的完整代码(另一张图的逻辑完全一致):

p<- c1 %>%
ggplot(aes(x = avg_log2FC,
y = -log10(p_val_adj),
fill = gene_type,
size = gene_type,
alpha = gene_type)) +
geom_point(shape = 21, # 指定点形状与边框色
colour = "black") +
geom_hline(yintercept = 0,
linetype = "dashed") +
scale_fill_manual(values = cols) +
scale_size_manual(values = sizes) +
scale_alpha_manual(values = alphas) +
scale_x_continuous(limits=c(-1.5,1.5), breaks=seq(-1.5,1.5,0.5))  +
scale_y_continuous(limits=c(0,110),breaks=seq(0,110,25))+
labs(title = "Gene expression",
x = "log2(fold change)",
y = "-log10(adjusted P-value)",
colour = "Expression \nchange") +
theme_bw() + 
theme(panel.border = element_rect(colour = "black", fill = NA, size= 0.5),
panel.grid.minor = element_blank(),
panel.grid.major = element_blank())

# 为Y轴添加断裂
p1 <- p + scale_y_break(breaks = c(30, 100))

单独运行p1能看到正常的轴断裂效果,但执行plot_grid(p1,p3, ncol = 2)后,组合图里的轴断裂就彻底消失了。

想请教大家:是我哪里操作有误吗?还是说这是cowplot和ggbreak组合使用时的局限性?

备注:内容来源于stack exchange,提问作者jonny jeep

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 08:23:23