Ответ 1
В R это можно сделать, установив par(ask=TRUE)
. Попробуйте следующий код, который показывает, как reset 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, будьте предупреждены, что вы можете получить довольно неудобное поведение, если вы начнете играть с этими вещами.