Ответ 1
Каждый раз, когда новое устройство открыто, par() будет reset, поэтому другой вариант просто выполняет dev.off()
и продолжит.
Обычно, когда я выполняю свои собственные функции построения, я делаю конструкцию:
op <- par("mypar"=myvalue)
on.exit(par(op))
который является стандартным способом возврата par
к предыдущим значениям. Представьте, что вы выполняли некоторые функции, которые меняли некоторые парсы, и вам нужно reset значения по умолчанию при запуске в R. Каков удобный способ сделать это?
Или другими словами: как достичь значений по умолчанию для par()
?
Каждый раз, когда новое устройство открыто, par() будет reset, поэтому другой вариант просто выполняет dev.off()
и продолжит.
Это взломанно, но:
resetPar <- function() {
dev.new()
op <- par(no.readonly = TRUE)
dev.off()
op
}
работает после моды, но он временно запустил новое устройство на экране...
например:.
> par(mfrow = c(2,2)) ## some random par change
> par("mfrow")
[1] 2 2
> par(resetPar()) ## reset the pars to defaults
> par("mfrow") ## back to default
[1] 1 1
Из Quick-R
par() # view current settings
opar <- par() # make a copy of current settings
par(col.lab="red") # red x and y labels
hist(mtcars$mpg) # create a plot with these new settings
par(opar) # restore original settings
Альтернативное решение для предотвращения изменения функций пользователя par
. Вы можете установить параметры по умолчанию в начале функции, чтобы графические параметры и компоновка не изменялись во время выполнения функции. См. ?on.exit
для получения дополнительной информации.
on.exit(layout(1))
opar<-par(no.readonly=TRUE)
on.exit(par(opar),add=TRUE,after=FALSE)
Используйте скрипт ниже, чтобы вернуться к обычному 1 сюжету:
par(mfrow = c(1,1))