Skip to content
Back to formatted view

Raw Message

Message-ID: <402B5C26.90706@lscp.ehess.fr>
Date: 2004-02-12T10:57:42Z
From: Christophe Pallier
Subject: calling R from a shell script and have it display graphics

Hello,

I am running R under Linux/x11.

I would like to call R from a shell script and have it display a series 
of graphics.
The graphics should remain visible until the user clicks or presses a key.

I first tried R BATCH, but it does not load the x11 module, making it 
impossible to open x11 or png devices.

Then, I tried to call R with a 'here' script:

R --vanilla --quiet --args text.txt <<'EOF'
file=commandArgs()[5]
cat('processing ',file,'\n')
...
x11()
plot(f2,log='xy',type='b',las=1,cex=.5,xlab='rang',ylab='freq')
Sys.sleep(10)
q()
EOF

The problem with this approach is that the script cannot interact with 
the user.
par(ask=T) will fail because it reads input from the script rather than 
from the keyboard.

While I am writing this, a solution comes to my mind: I could save all 
the graphics in png format (using R <script.R), and when it is finished, 
call ImageMagick's display to show all the png (or use any other 
diaporama system). However, I find it a dirty hack.

Is there a simpler and cleaner way to achieve this?

Christophe Pallier
www.pallier.org