ggplot柱状图保存时填充异常问题咨询
柱状图保存后填充不完整的问题解决
问题情况
保存ggplot绘制的柱状图时出现填充不完整的异常,仅柱状图存在该问题。已更新R语言及相关包、重启电脑,问题仍未解决。
复现代码
p <- tibble(month = sample(1:12, size = 1000, replace = T), cases = sample(1:1000)) %>% ggplot(aes(as.factor(month), cases))+ geom_bar(stat = "identity")+ xlab ("Mês")+ ylab('Casos')+ ggtitle('B') ggsave(p, "fig1.png")
异常效果

可行解决方法
- 更换图形设备:直接用基础R的图形设备替代ggsave默认逻辑,避免渲染异常:
也可以用# 打开png设备并指定尺寸 png("fig1.png", width = 8, height = 6, units = "in", res = 300) print(p) # 打印图表 dev.off() # 关闭设备ragg包的高性能图形后端(需先安装),稳定性更强:install.packages("ragg") ggsave(p, "fig1.png", device = ragg::agg_png, dpi = 300) - 调整柱子宽度:给
geom_bar添加width参数,避免柱子过窄导致渲染截断:p <- tibble(month = sample(1:12, size = 1000, replace = T), cases = sample(1:1000)) %>% ggplot(aes(as.factor(month), cases))+ geom_bar(stat = "identity", width = 0.8)+ # 指定柱子宽度 xlab ("Mês")+ ylab('Casos')+ ggtitle('B') ggsave(p, "fig1.png") - 换用其他输出格式:先保存为PDF矢量图(无渲染失真问题),再按需转成PNG:
ggsave(p, "fig1.pdf", width = 8, height = 6)
内容的提问来源于stack exchange,提问作者Joao Pedro Medeiros Gomes
相关产品推荐
相关产品推荐

