在格子中绘制组,使用不同的数据源
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
的特点。例如,您可以使用 layout
或 par(mfrow=c(1,7))
以及常见的 ylim
.
使用基本图形轻松地执行此操作
使用 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
的特点。例如,您可以使用 layout
或 par(mfrow=c(1,7))
以及常见的 ylim
.