R在多个图上的图之间设置空间

pac*_*met 10 r viewport ggplot2

在之前的R post 指定ggplot2面板宽度之后,我已经能够生成这个图:

在此输入图像描述

用这个代码.

您可以在http://ubuntuone.com/0Nlb97mOeDhSbFrbFKCeEG找到 dput(datos)的输出

现在我的问题是如何删除/减少图形之间的空白区域.我找到了ggExtra包,ggplot和facet的例子,带有plot.margin或panel.margin选项的multiplots但是找不到如何应用于我的情况.

谢谢你的帮助.

编辑:我刚刚注意到情节的宽度不一样.需要它们具有相同的宽度,以便它们可以从底部图中共享x轴标签.

Ric*_*ton 7

使用xlab(NULL)而不是xlab(" ")将删除每个图底部的一些空间.

使用opts(plot.margin = unit(c(0,0,0,0), "cm"))将从边缘移除一点空间.


我认为你通过创建5个单独的图并重新组合它们来使事情变得过于复杂.分面更容易.

mdatos <- melt(datos[, -1], id.vars = "dia")
(p_all <- ggplot(mdatos, aes(dia, value)) +
  geom_line(colour = "blue") +
  facet_grid(variable ~ ., scale = "free_y") +
  xlab("Day") +
  ylab(NULL) 
)
Run Code Online (Sandbox Code Playgroud)

绘图面板的宽度不同,因为某些y轴标签有三位数字,有些只有两个.更改y轴的格式,或使用我的facetting建议.