【问题标题】:controlling the inner figure margin within grid.layout控制 grid.layout 中的内部图形边距
【发布时间】:2012-01-16 03:21:57
【问题描述】:

我正在尝试在网格中绘制多个格子图。 为此,我使用以下代码:

plot <- xyplot(1:10~1:10)

page.layout <- grid.layout(nrow = 2, ncol = 1,
               widths = unit(c(1), "null"),
               heights = unit(c(1), "null"),
               default.units = "null",
               respect = FALSE,
               just = "centre")

pushViewport(viewport(layout = page.layout))
pushViewport(viewport(layout.pos.row = 1))
par(mar = c(5, 4, 4, 2))
print(plot, newpage = FALSE)
popViewport()
pushViewport(viewport(layout.pos.row = 2))
par(mar = c(5, 4, 4, 2))
print(plot, newpage = FALSE)
popViewport()

我现在想减少两个图形之间的空间,我在 gridBase 的小插图中读到,简单的图形控件,例如 par(mar=c()) 应该可以工作,但它是不是这里的情况。 也许我遗漏了一些明显的东西,但我不知道为什么我不能控制边距参数。 有什么建议吗?

【问题讨论】:

  • gridBase 用于混合基础和网格图形,但这里只有网格图形(格子)。

标签: r lattice


【解决方案1】:

lattice 提供了一些选项来控制绘图边距,

 p <- xyplot(1:10~1:10,
             par.settings=list(layout.heights=list(top.padding=-3, bottom.padding=-1)))

library(gridExtra)
grid.arrange(p, p, nrow=2)

【讨论】:

  • 感谢 baptiste,我一直在使用您建议的代码,但即使这样似乎也没有效果。您认为我的机器上的 par.setting 可能无法正常工作吗?我这样说是因为我也在尝试设置图形参数(字体大小、类型等)全局定义 my.theme
  • 让我们忘记它.. 现在它工作正常。感谢您的建议
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-11-03
  • 2016-08-26
  • 2010-10-28
  • 2019-08-05
  • 2019-02-15
  • 2015-03-08
  • 2012-03-19
相关资源
最近更新 更多