[Rd] Sweave support added to rgl package
Duncan Murdoch
murdoch.duncan at gmail.com
Wed Apr 20 20:29:58 CEST 2011
On 20/04/2011 1:52 PM, Dominick Samperi wrote:
> 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 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
More information about the R-devel
mailing list