我对于在
plot
函数中指定mar
图形参数不起作用这一事实感到困惑。以下代码将会给你呈现出两个完全相同的图形:plot(1:10, 10:1, xlab = "x", ylab = "y", mar = c(10, 0, 0, 0))
plot(1:10, 10:1, xlab = "x", ylab = "y", mar = c(0, 0, 0, 0))
然而,如果我尝试指定其他图形参数,例如下面例子中的col.lab
,它会按预期工作。下面的内容将给出具有不同标签颜色的图:
plot(1:10, 10:1, xlab = "x", ylab = "y", col.lab = "red")
plot(1:10, 10:1, xlab = "x", ylab = "y", col.lab = "black")
令人困惑的是,将mar
图形参数指定在函数外部可以正常工作,如下所示:
par.default <- par()
par(mar = c(10, 0, 0, 0))
plot(1:10, 10:1, xlab = "x", ylab = "y")
par(par.default)
有没有办法解决这种(在我看来)意外的行为?
par(mar=...)
或编写一个包装函数,检查...
参数与names(par())
进行显式处理。(未经测试!) - r2evans