ggsave() 失败并在 png_dev(..., res = dpi, units = "in") 中出现错误:无法启动 png() 设备

ggsave() fails with Error in png_dev(..., res = dpi, units = "in") : unable to start png() device

当我尝试使用 ggsave() 将 ggplot 保存到新目录时,出现错误。

library(ggplot2)
ggplot(mtcars, aes(x = cyl)) +
  geom_bar()
ggsave("current_folder/new_folder/new_plot.png")

产生错误:

Saving 11.3 x 7.32 in image
Error in png_dev(..., res = dpi, units = "in") : 
  unable to start png() device
In addition: Warning messages:
1: In png_dev(..., res = dpi, units = "in") :
  unable to open file 'current_folder/new_folder/new_plot.png' for writing
2: In png_dev(..., res = dpi, units = "in") : opening device failed

如果目标目录不存在,ggsave() 将不会在保存过程中创建它。它会抛出这个错误。

首先创建目录,可以在 R 之外的操作系统中创建,也可以使用 dir.create,就像这个答案中的那样:.

然后用ggsave()保存。