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