Чтобы собрать многостраничные фигуры, я пишу функцию, которая использует gtable, чтобы красиво и автоматически упорядочить их. Я реализую функциональность, чтобы добавить графику *.tif
в виде панелей, и я столкнулся с проблемами определения разрешения после прочтения файла.gridExtra :: read.tiff и отсутствует информация о разрешении
# Plot something
require(ggplot2)
p <- ggplot(mtcars, aes(wt, mpg))
p <- p + geom_point()
# Save as tif
tmpFile <- tempfile(fileext = ".tiff")
ggsave(
filename = tmpFile,
plot = p,
width = 65,
height = 60,
units = "mm",
dpi = 300)
# Re-read
require(gridExtra)
require(pixmap)
parsedTif <- read.tiff(tmpFile)
Там одно предупреждение выдается, что связано, но я не могу поставить:
Warning message:
In rep(cellres, length = 2) : 'x' is NULL so the result will be NULL
Когда я делаю это, [email protected]
дает мне размеры в пикселях, но [email protected]
приравнивает к c(1, 1)
. В этом случае сконструированного я знаю фактические измерения, что изображение должно иметь и таким образом реконструировать разрешение, как так,
dim <- [email protected]
size <- unit(x = dim/11.8, units = "mm")
но это вообще не известно. Как получить разрешение от анализируемого объекта gridExtra::read.tiff
или это просто проблема с ggsave
произведенными tiffs?