在启动时将par重置为默认值

时间:2011-04-26 12:01:15

标签: r default par

通常,当我创建自己的绘图函数时,我会构造一个构造:

op <- par("mypar"=myvalue)
on.exit(par(op))

这是将par还原为以前值的标准方法。想象一下,你已经运行了一些确实改变了部分语句的函数,你需要在R启动时重置为默认值。这样做的方便方法是什么?

或换句话说:如何达到par()的默认值?

6 个答案:

答案 0 :(得分:76)

每次打开新设备时,par()都会重置,因此另一个选项就是执行dev.off()并继续。

答案 1 :(得分:51)

这很黑,但是:

resetPar <- function() {
    dev.new()
    op <- par(no.readonly = TRUE)
    dev.off()
    op
}

在时尚之后起作用,但它会暂时在屏幕上闪现一个新设备......

E.g:

> 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

答案 2 :(得分:9)

来自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

答案 3 :(得分:2)

防止功能更改用户par的替代解决方案。您可以在功能上尽早设置默认参数,以便在功能执行期间不会更改图形参数和布局。有关更多详细信息,请参见?on.exit

on.exit(layout(1))
opar<-par(no.readonly=TRUE)
on.exit(par(opar),add=TRUE,after=FALSE)

答案 4 :(得分:1)

dev.off()是最好的函数,但它也会清除所有图。如果要在窗口中保留图,请首先保存默认的面值设置:

def.par = par()

然后,当您使用par函数时,您仍然具有默认par设置的备份。稍后,在生成图之后,完成:

par(def.par)#返回默认的参数设置

通过此操作,您可以保留生成的图并重置参数设置。

答案 5 :(得分:0)

使用以下脚本返回正常的1个图:

par(mfrow = c(1,1))