[R] Lattice graphics: adding lines to a plot

Chuck Cleland ccleland at optonline.net
Thu Jul 29 13:37:46 CEST 2004


How about this?

library(lattice)
xyplot(y ~ x, panel = function(x, y, ...){
                                panel.xyplot(x, y, ...)
                                panel.lmline(x, y, type="l")
                                })

Matthew Walker wrote:
> I am trying to use the Lattice package to produce the same result as I 
> can with the base graphics.
> 
> With base graphics I can type:
> 
> x <- 1:100
> y <- x+rnorm(length(x))
> g <- lm( y ~ x )
> model.y <- g$coef[1]+g$coef[2]*x
> 
> plot(x,y)   # a plot of the data
> lines( x, model.y )   # a plot of the model, superimposed on the first plot
> 
> 
> With Lattice graphics I've got this far:
> 
> library(lattice)
> plot1 <- xyplot(y ~ x)
> plot2 <- xyplot(model.y ~ x, panel = function(x, y) { llines(x=x, y=y) })
> print(plot1, more=TRUE, position=c(0,0.5,1,1))
> print(plot2, position=c(0,0,1,0.5))
> 
> But this just produces two graphs, one above the other.  How do I 
> overlay them?  What should I be doing in order to get the same result as 
> with the base graphics?

-- 
Chuck Cleland, Ph.D.
NDRI, Inc.
71 West 23rd Street, 8th floor
New York, NY 10010
tel: (212) 845-4495 (Tu, Th)
tel: (732) 452-1424 (M, W, F)
fax: (917) 438-0894




More information about the R-help mailing list