[R] automatically calling dev.off()
Jeff Newmiller
jdnewmil at dcn.davis.CA.us
Tue Sep 1 16:21:30 CEST 2015
If you are implementing your own interactive graphics device by creating files, then I would expect you to want to leave all files closed between graphics operations so your widget can interactively update as the user makes graphics calls. However, I have not done this, so could only suggest that you look at some example client code (RStudio? RGui?) and perhaps search r-devel.
---------------------------------------------------------------------------
Jeff Newmiller The ..... ..... Go Live...
DCN:<jdnewmil at dcn.davis.ca.us> Basics: ##.#. ##.#. Live Go...
Live: OO#.. Dead: OO#.. Playing
Research Engineer (Solar/Batteries O.O#. #.O#. with
/Software/Embedded Controllers) .OO#. .OO#. rocks...1k
---------------------------------------------------------------------------
Sent from my phone. Please excuse my brevity.
On September 1, 2015 6:54:33 AM PDT, axionator <axionator at gmail.com> wrote:
>I did it on the console only for testing. I have a program that uses
>Rserve
>and would like to have it therefore. (the program basically provides a
>terminal where you can type in R commands. Since plotting is only
>possible
>via files (when using Rserve) that are then displayed in a widget, I
>like
>to avoid the overhead of writing png() ... dev.off() for each plot.)
>
>On Tue, Sep 1, 2015 at 3:42 PM, Jeff Newmiller
><jdnewmil at dcn.davis.ca.us>
>wrote:
>
>> Don't use options to do this in batch mode. Open and close the file
>as you
>> make the plot.
>>
>---------------------------------------------------------------------------
>> Jeff Newmiller The ..... ..... Go
>Live...
>> DCN:<jdnewmil at dcn.davis.ca.us> Basics: ##.#. ##.#. Live
>> Go...
>> Live: OO#.. Dead: OO#..
>Playing
>> Research Engineer (Solar/Batteries O.O#. #.O#. with
>> /Software/Embedded Controllers) .OO#. .OO#.
>rocks...1k
>>
>---------------------------------------------------------------------------
>> Sent from my phone. Please excuse my brevity.
>>
>> On September 1, 2015 4:34:41 AM PDT, axionator <axionator at gmail.com>
>> wrote:
>> >Hi,
>> >is there a way to automatically call dev.off()?
>> >I use options(device="myfunc") to automatically open a device to
>print
>> >to.
>> >Afterwards, I would like to close it (so that the file is actually
>> >written).
>> >I tried to do it via addTaskCallback, but unfortunately, I have to
>use
>> >Rserve and (for any reason), the callback does not work (in the
>default
>> >R
>> >console on win7 it works, however).
>> >
>> >So, the following runs in the R console (but not via Rserve):
>> >
>> >mypng <- function(filename = "test.png", ...)
>> >{
>> > times <- function(total = 2, str = "Task") {
>> > ctr <- 0
>> > function(expr, value, ok, visible) {
>> > ctr <<- ctr + 1
>> > keep.me <- (ctr < total)
>> > if (ctr == total) {
>> > cat("ENDPRINT")
>> > dev.off()
>> > }
>> > keep.me
>> > }
>> > }
>> > png(filename, ...)
>> > n <- addTaskCallback(times(1))
>> >}
>> >options(device="mypng")
>> >plot(rnorm(333))
>> >
>> >Any hints?
>> >
>> > [[alternative HTML version deleted]]
>> >
>> >______________________________________________
>> >R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> >https://stat.ethz.ch/mailman/listinfo/r-help
>> >PLEASE do read the posting guide
>> >http://www.R-project.org/posting-guide.html
>> >and provide commented, minimal, self-contained, reproducible code.
>>
>>
More information about the R-help
mailing list