【发布时间】:2011-03-30 16:33:49
【问题描述】:
我在同一页面上有两个 ggplots,我希望它们的面板具有相同的宽度。
一些样本数据:
dfr1 <- data.frame(
time = 1:10,
value = runif(10)
)
dfr2 <- data.frame(
time = 1:10,
value = runif(10, 1000, 1001)
)
一个地块在另一个地块之下:
p1 <- ggplot(dfr1, aes(time, value)) + geom_line()
p2 <- ggplot(dfr2, aes(time, value)) + geom_line()
grid.newpage()
pushViewport(viewport(layout = grid.layout(2, 1)))
print(p1, vp = viewport(layout.pos.row = 1, layout.pos.col = 1))
print(p2, vp = viewport(layout.pos.row = 2, layout.pos.col = 1))
如何指定每个图中的面板宽度和位置,以使它们对齐?
(我不想将绘图与分面结合;这在我的真实示例中不合适。)
【问题讨论】:
-
我不知道任何细节,但
gridExtra可能对您有帮助:cran.r-project.org/web/packages/gridExtra/gridExtra.pdf -
@EtienneLow-Décarie -- 是的,很棒的发现!这基本上就是答案。但是,如果它不仅仅是一次性使用(并且可能用于超过 2 个地块),那么拥有一个包含这些步骤的函数会很好。