2016-11-09 96 views
0

我想在水平網格線的同一標繪區域繪製兩個圖。網格線的每一邊應該給出一個圖或另一個圖的值。不應該有Y軸。R:兩條軸線和網格線

grid()函數允許我使用ny=參數簡單設置分箱數。我如何獲得網格線的相應標籤?通常,我會使用axis(..., lwd=0)來獲取標籤。但是,該功能要求標籤位置爲at=c(),並且不包含ny=參數。有沒有辦法根據垃圾箱數量自動設置位置?


根據下面的Miff的提示,這應該可以解決問題。

plot(1:10, axes=FALSE, ylim=c(0,10), ylab="") 
par(yaxp=c(0, 10, 5)) 
axis(2, lwd=0, col.axis="gray") 
par(new=TRUE) 
plot(60:50, axes=FALSE, ylim=c(50,60), ylab="") 
par(yaxp=c(50, 60, 5)) 
axis(4, lwd=0, col.axis="gray") 
grid(NA, NULL) 

回答

1

grid()獲取其位置從axTicks()網格線,又使用人數從par("yaxp")。如果修改此參數(而不是將其顯式傳遞給網格),則結果將應用於繪製的網格和座標軸。例如:

plot(1:10, axes=FALSE) 
axis(2) #Default 4 sections between ticks 
par(yaxp=c(par("yaxp")[1:2], 7)) #Lets have seven instead 
axis(4) 
grid() #Grid now matches with right rather than left 

顯然類似於x軸的作品。

+0

所以我的問題可以解決如下: – bumblebee