通常,当我制作自己的绘图函数时,我会制作一个构造:
op <- par("mypar"=myvalue)
on.exit(par(op))
这是恢复par
到以前值的标准方法。想象一下,您一直在运行一些确实改变了某些 pars 的函数,并且您需要在 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
来自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))
dev.off() 是最好的函数,但它也会清除所有绘图。如果您想在窗口中保留绘图,请在开始时保存默认面值设置:
def.par = par()
然后,当您使用 par 函数时,您仍然拥有默认 par 设置的备份。稍后,在生成绘图后,完成:
par(def.par) #回到默认的par设置
有了这个,您可以保留生成的图并重置标准设置。