在格子面板中合并或叠加xyplots

时间:2013-10-22 21:14:53

标签: r merge overlay panel lattice

尝试弄清楚如何在创建现有点阵面板后将点或数据系列添加到现有点阵面板。这与plot.points和/或更新功能有关吗?

# Initialize first plot
library(lattice)
a <- xyplot(Sepal.Length~Sepal.Width, groups=Species, data=iris
            , subset=Species %in% levels(Species)[1:2])
print(a) 

# Create second plot to overlay or merge with the first plot
b <- xyplot(Sepal.Length~Sepal.Width, groups=Species, data=iris
            , subset=Species %in% levels(Species)[3])

# Initial attempt at merging plots:
library(latticeExtra)
print(c(a,b)) # this displays the data in an adjacent second panel
print(c(a,b,layout=c(1,1))) # and this only shows series "b"

注意:在此示例中,“a”和“b”两个图都来自原始的 iris 数据帧,但理想情况下,该解决方案可以使用不同的数据帧。

有什么想法吗? 谢谢!
布赖恩

1 个答案:

答案 0 :(得分:19)

我想,你正在寻找as.layer;试试这个。它也在latticeExtra库中。

library(latticeExtra)
a + as.layer(b)

请参阅此处的文档:http://latticeextra.r-forge.r-project.org/#as.layer