Re: [Rd] Sweave support added to rgl package

From: Duncan Murdoch <murdoch.duncan_at_gmail.com>
Date: Thu, 21 Apr 2011 12:48:30 -0400

I've just committed some changes to rgl that will probably detect bitmaps that are specified to be too large. As well, Brian Ripley backported some of the R-devel additions to the RweaveLatex driver, so now R 2.13.0-patched (revision 55572 or newer) should work as well as R-devel.

Duncan Murdoch

On 20/04/2011 8:56 PM, Duncan Murdoch wrote:
> On 20/04/2011 7:10 PM, Dominick Samperi wrote:
> > On Wed, Apr 20, 2011 at 2:29 PM, Duncan Murdoch
> > <murdoch.duncan_at_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.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
> >>
> >
> > The resolution=100 tip fixed the problem, thanks.

>

> I'll see if I am skipping over some error message in there. It would be
> much better for Sweave to fail with an error than generate empty images.
>
>

> > 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.
>

> I don't follow that.
>

> > The idea of adding support for movies and 3D graphics to Sweave/PDF files
> > sounds very interesting and revolutionary.
>

> Movies will likely be pretty slow. I think you'll want caching of some
> sort if you want to produce those.
>

> Duncan Murdoch
>

> >
> > Dominick

>

R-devel_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Thu 21 Apr 2011 - 16:52:00 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Thu 21 Apr 2011 - 20:40:50 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-devel. Please read the posting guide before posting to the list.

list of date sections of archive