Luis Ridao Cruz
2005-Mar-16 11:16 UTC
[R] Note: "The default device has been opened to honour attempt to modify trellis settings"
R-help, I'm using a function whose end result is a trellis plot. When I call the function I get sometimes the following message: "Note: The default device has been opened to honour attempt to modify trellis settings " leading up to any plot whatsoever. I call the package 'lattice' within the function and 'detach' after plotting. I have to close the graphics device to get the desired result (and it works only after a few more function calls) Here is the function code "function"<-function(somedata) { .......... library(lattice) trellis.par.set(theme = col.whitebg()) xyplot(log.catch ~ age | yrclass , data = tmp2) detach(package:lattice) savePlot(file="catch curve",type="jpeg") } function(somedata) Thanks in advance. I'm running on Windows XP> version_ platform i386-pc-mingw32 arch i386 os mingw32 system i386, mingw32 status major 2 minor 0.1 year 2004 month 11 day 15 language R
Sundar Dorai-Raj
2005-Mar-16 12:33 UTC
[R] Note: "The default device has been opened to honour attempt to modify trellis settings"
Luis Ridao Cruz wrote on 3/16/2005 5:16 AM:> R-help, > > I'm using a function whose end result is a trellis plot. > When I call the function I get sometimes the following message: > > "Note: The default device has been opened to honour attempt to modify > trellis settings " > > leading up to any plot whatsoever. > > I call the package 'lattice' within the function and 'detach' after > plotting. > > I have to close the graphics device to get the desired result (and it > works only after a few more function calls) > > Here is the function code > > "function"<-function(somedata) > { > .......... > > library(lattice) > trellis.par.set(theme = col.whitebg()) > > xyplot(log.catch ~ age | yrclass , data = tmp2) > > detach(package:lattice) > > savePlot(file="catch curve",type="jpeg") > > } > > function(somedata) > > > Thanks in advance. > > I'm running on Windows XP > > >>version > > _ > platform i386-pc-mingw32 > arch i386 > os mingw32 > system i386, mingw32 > status > major 2 > minor 0.1 > year 2004 > month 11 > day 15 > language R >Luis, If you are trying to save a plot within a function, you are going about it the wrong way. # don't call your function "function" # "function"<-function(somedata) my.function <- function(somedata) { require(lattice) # minor change here # next line is what's causing the message # trellis.par.set(theme = col.whitebg()) trellis.device(jpeg, file = "catch_curve.jpg", theme = col.whitebg()) # need to explicitly print the plot to the current device # see FAQ 7.22 print(xyplot(log.catch ~ age | yrclass , data = tmp2)) # turn device off after printing dev.off() # not sure why you need to detach every time ... detach(package:lattice) #savePlot(file="catch curve",type="jpeg") } my.function(somedata) --sundar