在 R 中导出图像:Cairo 和 ggsave 增加指定的尺寸

Exporting images in R: Cairo and ggsave increasing specified dimensions

我正在尝试使用 ggsave() 和 Cairo() 以 300 dpi 导出尺寸为 90x150 毫米的图形。问题是,即使我在代码中正确指定了图形尺寸,它们最终还是比预期的要大得多(281x468 毫米)。这是我一直在使用的代码:

x <- 1:10; y = x*x
plot = qplot(x, y, geom=c("point", "line"))

#ggsave
ggsave(plot, filename = "test.png", 
       width = 90, height = 150, dpi = 300, units = "mm", type = "cairo")

#Cairo
Cairo(90, 150, file="test2.png", type="png", bg="white", res = 300, units = "mm")
plot
dev.off()

刚发现 Cairo() 和 ggsave() 大小输出受图像分辨率的影响,即使您选择“公制”维度作为输出也是如此。

所以基本上,如果您想要 300 dpi 的 90x150 图,则必须将此尺寸除以 3(因为 300 dpi 是默认分辨率 100dpi 的 3 倍)。那么您的设置将为 30x50。