R:对齐具有不同x范围的图

时间:2013-03-05 07:54:19

标签: r ggplot2 dataframe

我有两个数据框dataAdataB,两个数据框都包含timevalue列。时间列密切相关,但不相同。现在,我用ggplot生成两个图,例如:

plotA <- ggplot(dataA) + geom_line(aes(x = time, y = value))
plotB <- ggplot(dataB) + geom_line(aes(x = time, y = value))

如何使用grid.arrange或类似函数垂直显示两个图,以便x轴标签和网格线对齐?

1 个答案:

答案 0 :(得分:2)

您可以使用构面来对齐图形。

首先,需要合并两个数据集:

dataAB <- rbind(dataA[c("time", "value")], dataB[c("time", "value")])

新列表示原始数据集:

dataAB$ind <- c(rep("A", nrow(dataA)), rep("B", nrow(dataB)))

简介:

library(ggplot2)
ggplot(dataAB) + 
  geom_line(aes(x = time, y = value)) +
  facet_wrap( ~ ind, ncol = 1, scales = "free_y")