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