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
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel