take me off here

On Mon, Sep 23, 2013 at 10:31 PM, Gabriel Becker <gmbec...@ucdavis.edu>wrote:

> Paul,
>
> Thanks for the response.
>
>
> On Mon, Sep 23, 2013 at 7:43 PM, Paul Murrell <p...@stat.auckland.ac.nz
> >wrote:
>
> > <snip>
> > par(bg="white")
> >
> > plot(1:10)
> > recplot = recordPlot()
> > png("bgreplay.png")
> > replayPlot(recplot)
> > dev.off()
> >
> > Would that satisfy your use case ?
> >
>
> Unfortunately it does not, as my use-case is in a caching/dynamic document
> setting. Thus I am capturing plotting from evaluation of an arbitrary piece
> of code within a series of such evaluations. I cannot be guaranteed the
> code doesn't call dev.off() or explicitly create a new device and I
> wouldn't want to clobber any non-white background set in previous code.
>
> I thought putting par(bg="white") after the call to png() (or bg="white" in
> the png call) might work, but it appears that replayPlot is actively
> setting the background to transparent so that didn't fly.
>
> Any other ideas or advice would be appreciated.
> ~G
>
>
> >
> > Paul
> >
> >
> > On 09/14/13 09:17, Gabriel Becker wrote:
> >
> >> Hey all,
> >>
> >> I've run accross what seems to be a bug in the recordPlot/replayPlot
> >> functionality (or at least the lack of a feature which seems pretty
> >> reasonable to expect to be there)
> >>
> >> When drawing to a file-based graphics device (I tested with png()), the
> >> file resulting from calling replayPlot on a recordedplot object does not
> >> contain an identical image to that captured by the same graphics device
> >> when used on the plot that was recorded.
> >>
> >> Reproducible (at least for me on linux) example:
> >>
> >> png("noreplay.png")
> >> plot(1:10)
> >> dev.off()
> >>
> >> plot(1:10)
> >> recplot = recordPlot()
> >> png("withreplay.png")
> >> replayPlot(recplot)
> >> dev.off()
> >>
> >> The resulting png files are attached. You'll notice that the
> noreplay.png
> >> has the expected white background, while withoutreplay.png has no/a
> >> transparent background.
> >>
> >> This seems likely to be related to the note in ?dev.print :
> >> "
> >>   Note that these functions copy the _device region_ and not a plot:
> >>       the background colour of the device surface is part of what is
> >>       copied.  Most screen devices default to a transparent background,
> >>       which is probably not what is needed when copying to a device such
> >>       as ‘png’.
> >> "
> >>
> >> Now this may be as intended because it is "not allowed" to draw
> >> recordedplot objects to devices other than the one they were recorded on
> >> (AFAIK the primary purpose of recordedplot objects is fast redraws
> >> internally), but alas that is what my use-case calls for. Furthermore,
>  I
> >> don't think I'm alone in thinking wistfully about how useful it would be
> >> to
> >> have an actual, transportable object class which can fully represent an
> R
> >> plot in any R-based context.
> >>
> >> I'm pretty sure I can compile a patch which does this if it would be
> >> considered, though there would be a delay of a week or two before I
> could
> >> burrow out from under the mound of other stuff I currently need to be
> >> doing
> >>
> >> sessionInfo below, and I have also confirmed that the behavior remains
> >> unchanged in the current trunk.
> >>
> >> Thanks,
> >> ~G
> >>
> >>  sessionInfo()
> >>>
> >> R version 3.0.1 (2013-05-16)
> >> Platform: x86_64-pc-linux-gnu (64-bit)
> >>
> >> locale:
> >>   [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
> >>   [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
> >>   [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
> >>   [7] LC_PAPER=C                 LC_NAME=C
> >>   [9] LC_ADDRESS=C               LC_TELEPHONE=C
> >> [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
> >>
> >> attached base packages:
> >> [1] stats     graphics  grDevices utils     datasets  methods   base
> >>
> >> loaded via a namespace (and not attached):
> >> [1] compiler_3.0.1 tools_3.0.1
> >>
> >>
> >>
> >> ______________________________**________________
> >> R-devel@r-project.org mailing list
> >> https://stat.ethz.ch/mailman/**listinfo/r-devel<
> https://stat.ethz.ch/mailman/listinfo/r-devel>
> >>
> >>
> > --
> > Dr Paul Murrell
> > Department of Statistics
> > The University of Auckland
> > Private Bag 92019
> > Auckland
> > New Zealand
> > 64 9 3737599 x85392
> > p...@stat.auckland.ac.nz
> > http://www.stat.auckland.ac.**nz/~paul/<
> http://www.stat.auckland.ac.nz/~paul/>
> >
>
>
>
> --
> Gabriel Becker
> Graduate Student
> Statistics Department
> University of California, Davis
>
>         [[alternative HTML version deleted]]
>
>
> ______________________________________________
> R-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
>

        [[alternative HTML version deleted]]

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to