С grid.arrange, как вы уменьшаете поля вокруг объединенных файлов.png?

Наличие десятков пар изображений.png для объединения (и включения в качестве графики с knitr а также LaTeX в файл PDF), я обнаружил, что grid.arrange оставляет большие поля сверху и снизу изображения. Размер изображения по умолчанию - 480 на 480 пикселей. Как я могу уменьшить этот пробел?

library(png)
library(grid)
img <- readPNG(system.file("img", "Rlogo.png", package="png"))
g1 <- rasterGrob(img, interpolate=TRUE, width = .3, height=.3)
g2 <- rasterGrob(img, interpolate=TRUE,width = .6, height=.6)

grid.arrange(g1, g2, nrow=1)  # displays in the RStudio plot window
dev.copy(png,'r logos.png')   # creates .png file in working directory
dev.off()                     # inserts arranged image; 53KB; 480 x 480 pixels      

Обратите внимание на пробел между этим текстом и началом изображения.png.
Этот текст отмечает нижнюю часть изображения.png.

Этот вопрос ggplot margin, а не grid.arrange не уместен.

1 ответ

Решение

В своем коде вы устанавливаете размер гробов равным 30% или 60% области просмотра, поэтому следует ожидать пустого пространства. Из описания вашей проблемы вы можете использовать физические единицы, такие как дюймы или сантиметры, а также установить размер устройства в соответствии с общим размером. Например,

library(png)
library(grid)
library(gridExtra)
img <- readPNG(system.file("img", "Rlogo.png", package="png"))
g1 <- rasterGrob(img, interpolate=TRUE, width = unit(1,"in"), height=unit(1,"in"))
g2 <- rasterGrob(img, interpolate=TRUE,width = unit(2,"in"), height=unit(2,"in"))
png("fit.png",width=720,height=480,res = 480/2)
grid.arrange(g1, g2, nrow=1,widths=c(1,2))
dev.off()

производит

Другие вопросы по тегам