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
Duncan Murdoch-2 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 >This is great news Duncan! If you do consider adding support for movie15, the Asymptote graphics language may be handy: http://asymptote.sourceforge.net/ Asymptote can embed 3D graphs into LaTeX documents that are fully zoomable/manipulatable. It also uses LaTeX to typeset the figure text. -Charlie ----- Charlie Sharpsteen Undergraduate-- Environmental Resources Engineering Humboldt State University -- View this message in context: http://r.789695.n4.nabble.com/Sweave-support-added-to-rgl-package-tp3461163p3463653.html Sent from the R devel mailing list archive at Nabble.com.
On Tue, Apr 19, 2011 at 2:18 PM, Duncan Murdoch <murdoch.duncan at 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 MurdochI 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. There is no graphics in the PDF file, even though both .png files are read when pdflatex is run. Thanks, Dominick