当我使用 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

最佳答案

你没有描述你想看到什么,只描述了哪些代码产生了你不喜欢的东西。猜测您希望看到 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)

关于r - R 中的 par() 选项 pin 和 oma,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12415206/

10-12 06:25