【发布时间】:2022-05-13 03:16:09
【问题描述】:
我正在尝试使用 ggsave 获得 300 dpi 的图像,但我只获得了默认的 72 dpi。
这是我正在使用的代码示例:
library(tidyverse)
x <- rnorm(100, 5, 1)
x <- tibble(x)
ggplot(x, aes(x = x)) + geom_histogram()
ggsave("hist.png", width = 10, height = 10, units = "in", dpi = 300)
当我运行它时,我得到一个 72 dpi 的 .png 文件。我正在使用带有 Catalina 10.15.7 的 MAC,并且今天更新到最新版本的 R 和 ggplot2。
【问题讨论】:
-
如果你切换dpi,最终分辨率会改变吗?只是想看看它是否对该输入做出响应
-
根据 Mac Preview 中的“inspector”,它会更改图像大小(以像素为单位),但不是 dpi 仍然是 72。例如,300 dpi 产生 3000 X 3000 像素;而 400 dpi 产生 4000 X 4000 像素。
-
A previous post 问同样的事情没有得到答案,但有一些可能会有所帮助的 cmets。您可能还想指定一个图形设备,例如 cairo 或 agg,并传递其特定参数。例如,在最近的调试中,我发现当我使用 agg 时,我必须使用
res参数,而不是dpi -
如果您要获得 3000 X 3000 10 英寸的 300dpi 图像,以及 4000 X 4000 10 英寸的 400dpi 输出图像,那将是正确的。那么是什么让你确定你没有得到 72dpi 以外的任何东西
-
最近一篇有用的博文解释了 ggplot2 的分辨率:christophenicault.com/post/understand_size_dimension_ggplot2