如何将ggsave默认背景色从透明改回白色,无需逐次指定bg参数
问题原因
ggplot2 v3.4.0及以上版本对ggsave()的参数默认值做了调整,bg参数的默认值从"white"改为NULL,对于PNG、TIFF这类光栅输出格式,NULL值对应的就是透明背景,属于官方的正常迭代调整。
全局修改默认背景的实现方案
不需要修改任何存量ggsave()调用代码,通过全局配置即可恢复旧版本的白色背景默认行为,有两种可选方案:
- 方案1(最推荐):设置
ggsave()全局默认参数
在脚本开头或R全局配置文件.Rprofile中加入以下代码:
options(ggplot2.ggsave.params = list(bg = "white"))
添加后所有未手动指定bg参数的ggsave()调用都会默认使用白色背景。如果需要永久生效,可将上述代码写入用户目录下的.Rprofile文件,每次启动R会话都会自动加载配置。
- 方案2:修改ggplot全局主题默认背景
如果需要同时让会话内的绘图预览也默认显示白色背景,可以修改全局主题配置:
theme_set( theme_get() + theme( plot.background = element_rect(fill = "white", color = NA), panel.background = element_rect(fill = "white", color = NA) ) )
注意:手动在
ggsave()中传入的bg参数优先级高于全局默认配置,已经手动指定背景的存量代码行为不会受全局配置的影响。
内容的提问来源于stack exchange,提问作者Joe
相关产品推荐
相关产品推荐

