【问题标题】:With grid.arrange, how do you reduce margins around combined .png files?使用 grid.arrange,如何减少组合 .png 文件的边距?
【发布时间】:2016-02-29 14:51:45
【问题描述】:

有几十对 .png 图像要组合(并作为图形与 knitrLaTeX 一起包含在 PDF 文件中),我发现 grid.arrange 在图像的顶部和下方留下了很大的边距。图像的默认大小为 480 x 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, not grid.arrange 不相关。

【问题讨论】:

    标签: r png r-grid


    【解决方案1】:

    在您的代码中,您将 grobs 的大小设置为视口的 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()
    

    生产

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-11
      • 2014-10-05
      相关资源
      最近更新 更多