使用ggarrange添加共享图例时为何出现轻微黑边?求解决建议
解决ggarrange绘制共享图例面板时右上角黑块问题
问题描述
使用ggplot2和ggpubr包的ggarrange函数绘制带共享图例的面板时,右上角出现轻微黑块,添加bgcolor("white")仅能部分改善该问题,且多次出现此情况。
复现代码
library(ggplot2) library(ggpubr) p <- ggplot(mtcars, aes(x=wt, y=mpg, color=as.factor(cyl))) + geom_point(size=2, shape=23) panel <- ggarrange(p, p, nrow=1, common.legend = TRUE, legend="right") + bgcolor("white")
问题截图

解决建议
在
ggarrange中直接指定背景色:
放弃后续叠加bgcolor的方式,直接在ggarrange参数里设置bg = "white",从根源避免渲染间隙:panel <- ggarrange(p, p, nrow=1, common.legend = TRUE, legend="right", bg = "white")给图例添加白色背景:
在原绘图对象中通过theme为图例框设置白色背景,覆盖可能出现黑块的区域:p <- ggplot(mtcars, aes(x=wt, y=mpg, color=as.factor(cyl))) + geom_point(size=2, shape=23) + theme(legend.box.background = element_rect(fill = "white", color = NA)) panel <- ggarrange(p, p, nrow=1, common.legend = TRUE, legend="right")更新相关包到最新版本:
这类视觉渲染问题多为旧版本bug,执行以下命令更新ggplot2和ggpubr:install.packages(c("ggplot2", "ggpubr"))导出图片时指定背景色:
如果黑块仅在导出后出现,使用ggsave时明确设置背景色:ggsave("panel_plot.png", panel, bg = "white")
内容的提问来源于stack exchange,提问作者curious
相关产品推荐
相关产品推荐

