2012-09-13 24 views
4

如果我使用pin指定繪圖大小,則使用par選項oma設置繪圖全題目時出現問題。當使用pin時,oma標題向上(似乎在oma範圍之外);當pin被註釋掉(如下)時,oma標題位置在視覺上吸引人。我試着旋轉par選項的順序,認爲有人可能會超越別人,但沒有運氣。代碼如下。線索讚賞!謝謝你,湯姆par()選項pin和o在R

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 

回答

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)