有没有办法在本地环境中设置或屏蔽par()
?我对R环境并不十分熟悉,所以我不清楚为什么这是不可能的,尽管我明白为什么它不是默认行为。我看到了this question,但我不知道它是否适用于此。如果没有某种方法来调整搜索路径以使其发挥作用,我也会感到惊讶。
然后,再也没有办法调整决定是否省略某些轴标签的算法......难道只需要一个开关来关闭该功能并让用户支付价钱?这似乎是语言中其他一切的设计理念(我开始欣赏它)。
答案 0 :(得分:6)
如上所述,您可以在par
函数中传递plot
个参数,但这对于提供的绘图函数并不起作用(并非所有参数都以这种方式工作 - 请参阅{ {1}})。限制参数更改到函数体的另一个有用的习惯是
?par
如果你以非标准的方式打破一个函数(例如在函数运行时调用Ctrl-C,或调试/ Q,而不是通常的话),我不能100%确定这个成语是安全的function(...) {
old.pars <- par(...,no.readonly=TRUE)
on.exit(par(old.pars)))
...
}
)
我在贡献包中遇到了一些修改全局return()
设置而不重置它们的函数,我认为这种做法非常糟糕......
答案 1 :(得分:2)
除了其他答案和注释之外,请注意图形参数是图形设备的本地参数,因此您可以打开新的图形设备,设置所需的参数,然后在关闭设备时(或切换回另一个)以前的参数将生效。一个简单的例子:
dev.new()
par(col='blue')
hist(rnorm(100))
abline(v=0, lwd=5)
dev.new()
par(col='red')
hist(rnorm(1000))
par(lwd=5)
abline(v=0)
dev.off()
plot(runif(25), rnorm(25))
abline(h=0, lwd=3)
有关在图形设备之间切换的详细信息,请参阅dev.list
和dev.set
的帮助。