R中的par()选项pin和oma

时间:2012-09-13 21:43:18

标签: r

当我使用par指定地块尺寸时,使用oma选项pin设置地块范围的标题时出现问题。当使用oma时,oma标题会更快(似乎在pin范围之外);当pin被注释掉(如下所示)时,oma标题位置在视觉上具有吸引力。我试过旋转par选项的顺序,认为一个可能会超过其他选项,但没有运气。代码如下。线索赞赏!谢谢,汤姆

par(mfrow=c(1,2)) # 1X2 graphs
par(oma=c(0,0,5,0))  # top has 5 lines of space 
par(mar=c(4,4,2,1)+.1)  # margin lines
#par(pin=c(1.9,1.9))  # plot areas for graphs

# plot 1
plot(rnorm(n=20),col="olivedrab",pch=19,ylim=c(-2.0,2.0),xlim=c(0,20),ylab="",xlab="")
mtext("Observation No.",side=1,line=3)
mtext("Random variate",side=2,line=3)
mtext("Olivedrab Plot",side=3,line=2,cex=1.5)

# plot 2
plot(rnorm(n=20),col="olivedrab2",pch=19,ylim=c(-2.0,2.0),xlim=c(0,20),ylab="",xlab="")
mtext("Observation No.",side=1,line=3)
mtext("Random variate",side=2,line=3)
mtext("Olivedrab Plot",side=3,line=2,cex=1.5)

mtext("Army Olive Drab Plots",side=3,line=3,cex=2,outer=TRUE)  # add outer label

1 个答案:

答案 0 :(得分:3)

您还没有描述您想要看到的内容,只有哪些代码会产生您不喜欢的内容。猜测你想看到mtext产生一个远离图形设备外边缘的“主标题”(更靠近图形)我建议你使用负线号进行放置。正如帮助页面所说,'line'指定“从0开始向外计数”(尽管我无法找到我们应该期望零线的位置的描述。)

par(mfrow=c(1,2)) # 1X2 graphs
par(oma=c(0,0,5,0))  # top has 5 lines of space 
par(mar=c(4,4,2,1)+.1)  # margin lines
par(pin=c(1.9,1.9))  # plot areas for graphs

# plot 1
plot(rnorm(n=20),col="olivedrab",pch=19,ylim=c(-2.0,2.0),xlim=c(0,20),ylab="",xlab="")
mtext("Observation No.",side=1,line=3)
mtext("Random variate",side=2,line=3)
mtext("Olivedrab Plot",side=3,line=2,cex=1.5)

# plot 2
plot(rnorm(n=20),col="olivedrab2",pch=19,ylim=c(-2.0,2.0),xlim=c(0,20),ylab="",xlab="")
mtext("Observation No.",side=1,line=3)
mtext("Random variate",side=2,line=3)
mtext("Olivedrab Plot",side=3,line=2,cex=1.5)

mtext("Army Olive Drab Plots",side=3,line=-3,cex=2,outer=TRUE)