On Wed, Apr 20, 2011 at 2:29 PM, Duncan Murdoch <murdoch.dun...@gmail.com> wrote: > On 20/04/2011 1:52 PM, Dominick Samperi wrote: >> >> On Tue, Apr 19, 2011 at 2:18 PM, Duncan Murdoch >> <murdoch.dun...@gmail.com> wrote: >> > I have just committed some code to the rgl package on >> > https://r-forge.r-project.org/projects/rgl/ to allow rgl images to be >> > inserted into Sweave documents. (This is not in the CRAN version yet.) >> > It >> > makes use of the custom graphics driver support added by Brian Ripley. >> > >> > In R-devel (which will become R 2.14.0 next spring in New Zealand, next >> > fall >> > in most other places), usage is quite straightforward. For >> > example, code like this in a Sweave document: >> > >> > <<fig=true, grdevice=rgl.Sweave, pdf=false, stayopen=TRUE>>= >> > x<- rnorm(100); y<- rnorm(100); z<- rnorm(100) >> > plot3d(x, y, z) >> > @ >> > >> > will insert a .png snapshot of the figure. Because that chunk has >> > "stayopen=TRUE", it can be followed by another chunk to add >> > to the figure, e.g. >> > >> > <<fig=true, grdevice=rgl.Sweave, pdf=false>>= >> > lines3d(x[1:10], y[1:10], z[1:10], col="red") >> > @ >> > >> > All of this is possible in R 2.13.0, but it takes more work: see the >> > ?rgl.Sweave help page. >> > >> > I will eventually add postscript and PDF output options as well, and >> > perhaps >> > some support for the LaTeX movie15 package, but those are not there >> > yet. >> > Comments or bug reports are welcome. >> > >> > Duncan Murdoch >> >> I inserted your example into testrgl.Rnw under R 2.13.0, with >> Sweave.snapshot() >> at the end of both chunks, but things did not work as expected. >> >> I used: >> $ R CMD Sweave testrgl.Rnw >> $ pdflatex tesetrgl >> (view testrgl.pdf) >> >> When R CMD Sweave is run the graphics is displayed interactively. > > That's unavoidable as far as I know. I don't think there's a general > purpose way to tell OpenGL to render in the background, so it works by > rendering on screen, then copying a bitmap to the .png file. >> >> There is no graphics in the PDF file, even though both .png files >> are read when pdflatex is run. > > Do they look okay? One possible problem is that you may have asked for a > bitmap too big for your hardware to render, in which case those png files > will end up with junk (probably blank). Setting resolution=100 in the chunk > headers will do it more coarsely. (The default is 300 dpi.) The same > effect comes from width=1, height=1 (or some other small numbers). > > Duncan Murdoch >
The resolution=100 tip fixed the problem, thanks. Now I see the snapshots in the PDF file. Using this in a package will certainly change the user experience, but it moves away from the traditional batch-oriented R package processing, it seems to me. The idea of adding support for movies and 3D graphics to Sweave/PDF files sounds very interesting and revolutionary. Dominick ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel