在多图中设置mfg可防止在边距上绘图

时间:2013-12-09 11:06:10

标签: r plot

我正在尝试将公共轴添加到一堆图中,方法是将它们放在外边距中。 首先在循环中绘制绘图(不在示例中)然后我想在两行绘图的底部绘制轴。

但只有在不更改mfg的情况下,才能在绘图区域外绘制轴。如何在更改mfg

后启用绘图外绘图
par(mfrow=c(2,2),
mar=c(1,1,0,0),
oma=c(3,0,0,0))

#Some plots
plot(function(x)x^2,from=-1,to=2,  frame.plot=T,axes=F)
plot(function(x)x^3,from=-2,to=2,  frame.plot=T,axes=F)
plot(rnorm(10),  frame.plot=T,axes=F)
plot(1:10,       frame.plot=T,axes=F)
# axis on last drawn plot (mfg=c(2,2)) - works
axis(side=1,line=0,outer=TRUE)

# set mfg to same value (mfg=c(2,2))
par(mfg=c(2,2))

# red axis is clipped to plot region, even with xpd?
axis(side=1,line=-.2,outer=FALSE,xpd=NA,col="red")
par(mfg=c(2,1))
axis(side=1,line=-.2,outer=FALSE,xpd=NA,col="red")

1 个答案:

答案 0 :(得分:1)

您可以设置:

par(xpd=NA)

确保轴没有剪切到绘图区域。