Thanks to all who replied on list and to me directly.
You are right, FAQ 7.22 is the answer. For any others who get caught
by this it's important to print(..) a plot with a function, not just
create it, i.e.
print( xyplot(... ) )
not just
xyplot(... )
..otherwise it doesn't necessarily get sent to the opened device.
Michael
On 2 Jul 2008, at 01:06, Deepayan Sarkar wrote:
On 7/1/08, Michael Hopkins <[EMAIL PROTECTED]>
wrote:
Hi R people
I am using a function to create a pdf device, then send a lot of
plots
to it in a loop then a last lattice xyplot (itself within a function)
outside the loop and finally call dev.off() to write to the file.
This works well apart from the fact that the last plot does not get
sent to the file unless I comment out dev.off() and then apply it in
the console afterwards instead:
plot_stuff( ...); dev.off()
The device is opened like this:
pdf( paste( var_string, ".pdf", sep="" ), onefile=TRUE,
paper="a4r",
width=9, height=6.5 )
Also, if I try to send two different xyplots after the loop only the
last one ever gets written to the file, whether or not I apply the
dev.off() trick above.
Any thoughts on why this stuff happens and best ways to avoid it are
appreciated.
This sounds like FAQ 7.22:
http://cran.us.r-project.org/doc/FAQ/R-FAQ.html#Why-do-lattice_002ftrellis-graphics-not-work_003f
The dev.off() issue is most likely a red herring; the important bit is
that the xyplot() call was not the last expression in your function.
-Deepayan
Web: http://www.hopkins-research.com/
Office: +44 (O)1732 228844
Mobile: +44 (O)7813 467381
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.