Hello,
Is there are an R command to refresh the graphical output?
On a linux system I'm sending commands to R through a named pipe. The R
server is an infinite loop that listens on the pipe and executes received R
code. But I am having a problem refreshing the graphics output. If I send a
plot command down the pipe the graphical output appears. However, if a window
briefly obscures the graphical output, the x11 device won't refresh the
display. It would appear there is no refresh because R is busy interpreting
infinite loop.
Is there a way of "manually" refreshing the display? Or is there
another way to get around the refresh problem?
Thanks in advance,
PJ
The R server:
# based on http://tolstoy.newcastle.edu.au/R/help/01c/2886.html
stream <- fifo("R_pipe", "r", blocking=FALSE,)
repeat
{
a <- readLines(stream)
if(length(a) != 0)
{
if (inherits(e, "try-error"))
{
# error handling code here
cat("Error", "\n")
}
}
}
The R client:
$ mkfifo R_pipe
$ cat>> R_pipe
Now, I can send R commands down the pipe:
Client side:
x <- seq(1,10)
x
Server side:> x <- seq(1:10)
> x
[1] 1 2 3 4 5 6 7 8 9 10
So far so good. Now send a plot, e.g. plot(1:100) and obscure the resulting
plot so that it needs a refresh. Voila, no refresh.