格子,仅在连接具有正斜率时才连接点

时间:2015-01-16 12:34:16

标签: r plot lattice

只有在连接具有正斜率时,才能以一种舒适的方式连接点? (否则该函数的行为应与xyplot(...)完全相同)

library(lattice)

dat <- data.frame(x=1:10,y=sample(1:10))

xyplot(y ~ x, data=dat,
       panel = function(x, y,...) { 
         panel.xyplot(x, y, type="o",...)
       }
)

所以结果应该是这样的情节,但没有交叉线:

enter image description here

谢谢 克里斯托夫

1 个答案:

答案 0 :(得分:7)

dat <- dat[order(dat[, "x"]),]
dat$group <- cumsum(c(1, diff(dat$y) < 0))


xyplot(y ~ x, data = dat, groups = group,
       panel = function(x, y,...) { 
         panel.xyplot(x, y, type = "o", col = trellis.par.get("plot.line")$col, ...)
       }
)

resulting plot