通常我自己编写绘图函数时,会使用以下结构:
op <- par("mypar"=myvalue)
on.exit(par(op))
如何将par
恢复为先前的默认值是标准方法。想象一下,您已经运行了一些更改了一些参数的函数,并且您需要在R启动时重置为默认值。有什么方便的方法可以这样做吗?
换句话说:如何达到par()
的默认值?
par()
将被重置,因此另一个选择是简单地进行 dev.off()
并继续。这种方法有点hacky,但是:
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
par()
而不存储默认值。或者通过你的 .Rprofile
在启动时获取默认值。 - Gavin Simpson来自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)
dev.off()是最好的函数,但它也会清除所有的图形。如果你想在窗口中保留图形,在开始时保存默认的par设置:
def.par = par()
然后,当你使用你的par函数时,你仍然有一个默认的par设置备份。在生成图形之后,最后完成:
par(def.par) #返回到默认的par设置
这样,你可以保留生成的图形并重置par设置。
par
命令写成 par(no.readonly = TRUE)
。 - BroVic
par(mfrow = c(1,1))
dev.new()
和dev.off()
可以使用。 - James