How to add abline with lattice xyplot function?

hn.phuong picture hn.phuong · Aug 14, 2012 · Viewed 20.2k times · Source

I am trying to plot two variables: Eeff vs Neff using xyplot function of lattice package. I would like to know how to add an line to this scatter plot (which is abline function in normal R graphic system).

xyplot(Neff ~ Eeff, data = phuong,
       xlab = "Energy efficiency (%)", 
       ylab = "Nitrogen efficiency (%)")

Answer

A5C1D2H2I1M1N2O1R2T1 picture A5C1D2H2I1M1N2O1R2T1 · Aug 14, 2012

The lattice package has several "panel functions", one of which is panel.abline.

Try this and see if it gives you what you're looking for:

xyplot(Neff ~ Eeff, data = phuong,
       panel = function(x, y) {
         panel.xyplot(x, y)
         panel.abline(lm(y ~ x))
       }, 
       xlab = "Energy efficiency (%)", 
       ylab = "Nitrogen efficiency (%)")