我正在使用 bwplot 在 Lattice 中制作盒须图。我想为手段加分。我已经想出如何使用panel.points
. +
但是,当我使用and制作多面板 bwplot 时outer=TRUE
,我不知道如何在不同的面板中放置不同的点。此示例说明了我尝试的解决方案的问题,该解决方案不起作用。(为了简单起见,它将“x”放在任意点而不是平均值。)
# make some data:
df <- data.frame(var1=rnorm(20), var2=runif(20), cat=rep(c("Z"),20))
# cat isn't doing anything, but I couldn't get the mwe to work without it.
bwplot(var1 + var2 ~ cat, data=df, pch="|", coef=0, outer=TRUE,
panel=function(data, ...){
panel.bwplot(...)
panel.points(x=c(.5,-.5), pch="x", cex=2)
}
)
(outer=T
结合var1 + var2
是导致创建两个面板的原因。有关更简单的示例,请参见下文。)
我得到的是两个面板,每个面板都有一个盒须图。“x”被放置在每个图上。在每个面板中,绘图上方 0.5 处都有一个“x”。与在第二个面板中使用 -.5 不同,该过程重新开始 - Lattice 再次抓取第一个点 0.5。
如何在不同面板的图上显示不同的点?
谢谢。
+
后来补充:我现在意识到这个问题与outer=TRUE
本身无关。使用常规 Lattice 条件可以得到相同的行为:
df <- data.frame(var1=rnorm(20), cat=rep("Z",20), cat2=rep(c("M","F"), 10))
bwplot(var1 ~ cat | cat2, data=df, pch="|", coef=0, outer=TRUE,
panel=function(data, ...){
panel.bwplot(...)
panel.points(x=c(.5,-.5), pch="x", cex=2)
}
)