I have a xyplot and I want to draw grid lines on the 0 values.
How this can be done?
According to lattice changelog:
Changes in lattice 0.19
=======================o Added new arguments
'grid'and'abline'inpanel.xyplot().
So you could do it in one line:
require(lattice)
X <- data.frame(xx=runif(20), yy=rnorm(20))
xyplot(yy~xx, X, abline=list(h=0))

If you want panel.grid like line style, then nice trick:
xyplot(yy~xx, X, abline=c(list(h=0),trellis.par.get("reference.line")))

If you're using package lattice (which is implied with xyplot), you can use panel.abline to draw lines over labeled ticks.
my.df <- data.frame(a = runif(10, min = -1, max = 1), b = runif(10, min = -1, max = 1))
my.plot <- xyplot(b ~ a, data = my.df)
update(my.plot, panel = function(...) {
panel.abline(h = 0, v = 0, lty = "dotted", col = "light grey")
panel.xyplot(...)
})

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With