[R] calling R from a shell script and have it display graphics
Michael A. Miller
mmiller3 at iupui.edu
Fri Feb 13 13:54:21 CET 2004
>>>>> "Don" == Don MacQueen <macq at llnl.gov> writes:
> I don't know about the "simpler" part, but you could use
> the tcltk package to put up a window that prompts the user
> to continue.
Here's a function that does that. I use to prompt the user to
choose among printing the current device with dev.print, saving
it with dev.copy2eps or continuing without doing anything. I
write my codes to use this function and then, depending on
whether or not the code is running from a script or not, I
redefine it with the tk version.
Mike
##===================================================================================
## give the user some options at the command prompt
print.or.not <- function() {
print("<return> to continue, `p' to print, `s' to save to R.ps...")
result <- readline("[<ret>ps] ")
if ( result == "p" ) { dev.print() }
if ( result == "s" ) { dev.copy2eps(file="R.ps") }
}
##===================================================================================
## give the user some options in a tk window...
print.or.not <- function() {
tt.print <- tktoplevel()
tktitle(tt.print) <- 'Print or save plot?'
b.print <- tkbutton(tt.print,
text='print',
command=function(...){ dev.print()
tkdestroy(tt.print)
}
)
b.save <- tkbutton(tt.print,
text='save',
command=function(...){ file.obj <- tkgetSaveFile()
file.name <- tclvalue(file.obj)
dev.copy2eps(file=file.name)
tkdestroy(tt.print)
}
)
b.continue <- tkbutton(tt.print,
text='continue',
command=function(...){ tkdestroy(tt.print)
}
)
tkpack(b.print, b.save, b.continue,fill='both')
tkwait.window(tt.print)
}
More information about the R-help
mailing list