r lattice - bwplot后水平abline的错误位置

时间:2013-08-16 13:48:00

标签: r plot lattice boxplot

我可以毫无问题地做到这一点:

boxplot(coef ~ habitat, data = res)
abline(h = 0, col = "green")

但是当我使用格子时,水平线是错位的:

bwplot(coef ~ habitat, data = res)
abline(h = 0, col = "green")

enter image description here

我尝试使用panel.abline,但是将绿线放在图片的顶部。

1 个答案:

答案 0 :(得分:4)

使用面板功能;按照您希望添加部件的顺序对所包含的函数进行排序;利用...来避免必须知道/管理面板函数的所有参数

bwplot(coef ~ habitat, data = res, panel=function(...) {
    panel.abline(h=0, col="green")
    panel.bwplot(...)
})

当有多个面板时,面板功能的概念更有意义,例如,

res = data.frame(coef=rnorm(99) + (-1):1, habitat=sample(letters[1:3], 99, TRUE),
                 grp=c("W", "X", "Y"))
bwplot(coef ~ habitat | grp, data = res, panel=function(x, y, ...) {
    ## green line at panel-median y value
    panel.abline(h=median(y), col="green")
    panel.bwplot(x, y, ...)
})