在下面的示例中,我希望能够通过鼠标单击(或键盘输入)来控制何时进入下一个绘图
for (i in 1:5){
plot(1:i)
Sys.sleep(1)
#add something here that requests mouse click to proceed
}
这可能吗? X11()帮助文件中有一个设置为“clickToConfirm”,但我无法解决它的问题。
能够使用箭头键在图表中来回滚动对我也很有帮助。这可能吗?
目前,如果我需要查看大量的图表,我将它们输出到一个大的.pdf文件中并在那里滚动它们,但这有点麻烦。
由于
汤姆
答案 0 :(得分:14)
在R中,可以通过设置par(ask=TRUE)
来完成。请尝试以下代码,该代码显示退出函数时如何重置par:
op <- par(ask=TRUE)
for (i in 1:5){
plot(1:i)
}
par(op)
如果您想保留要浏览的历史记录,可以打开一个窗口并点击recording
菜单中的History
,也可以自行打开窗口并显示历史记录。在函数中演示:
plot.fun <- function(){
windows(record=TRUE) # opens a window and starts recording
op <- par(ask=TRUE)
on.exit(par(op))
for (i in 1:5){
plot(1:i)
}
windows.options(record=FALSE) #stops recording.
}
plot.fun()
然而,这将保留历史中所有以前的图表以供浏览,因此如果您运行此代码3次,您将在图表历史记录中包含15个图表。另请注意,打开的绘图窗口将继续录制,直到您关闭菜单中的录制内容。
您可以使用绘图历史记录,因为您将拥有包含已保存的绘图历史记录的变量.SavedPlots
。可以使用绘图窗口中的菜单History > clear history
清除它。如果你想从控制台清除历史记录,你可以通过
.SavedPlots <- NULL
但我建议你不要这样做,因为更改.SavedPlots
变量会导致R崩溃。
另请参阅?windows
和?recordPlot以获取更多信息。但是当你接近R的内部代码时,如果你开始玩这些东西,请注意你可能会遇到相当尴尬的行为。
答案 1 :(得分:7)
使用箭头键在图表之间来回滚动:它取决于平台/ R界面。
答案 2 :(得分:5)
您可以使用定位器 - 现在更改点击
for (i in 1:5){
plot(1:i)
locator(1)
}