在格子中绘制组,使用不同的数据源

Plot group in lattice, using different data sources

使用 R 中的 lattice 包,我想绘制一行 7 个图表,所有图表都使用相同的 Y 轴。这些图应该是(垂直的)线图。问题是我的数据分别在 7 个单独的数据框中(包含 X 和 Y 数据),Y 轴数据的限制略有不同。

除了所有的教程,我没听懂。我的代码必须是什么样的?在 lattice 中甚至有一个干净的解决方案吗?

您可以将所有数据框合并为一个,然后执行类似

的操作
xyplot(Y~X|odf,data=combinedDF,layout=c(7,1))

其中odf是原始数据框的一个指标列。默认情况下,这应该使用通用的 y 比例尺。

除了合并数据,您还可以创建 7 个单独的图,然后打印它们。

p1 <- xyplot(Y~X,data=DF1,ylim=c(Y1,Y2))
p2 <- xyplot(Y~X,data=DF2,ylim=c(Y1,Y2))
etc.

打印:

print(p1,split=c(1,1,7,1),more=TRUE)
print(p2,split=c(2,1,7,1),more=TRUE)
...
print(p7,split=c(7,1,7,1),more=FALSE)

参见 ?print.trellis

当然,像这样安排单个地块并不能真正发挥lattice的特点。例如,您可以使用 layoutpar(mfrow=c(1,7)) 以及常见的 ylim.

使用基本图形轻松地执行此操作