-2

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

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

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

4

1 回答 1

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")
于 2013-03-05T08:18:31.407 回答