2011-06-17 180 views
5

我試圖在R中創建一個簡單的散點圖,其中x軸範圍爲-10:10,並將y軸重新定位到x = 0點。這似乎是一個相當基本的操作,但我發現沒有辦法做到這一點... 感謝您的任何幫助!R散點圖中的軸位置

+0

定義x軸範圍的參數是'plot(...,xlim = c(-10,10))'。有關更多信息,請參閱「?par」。 – 2011-06-17 10:00:04

+1

現在你爲什麼要這樣做,並有一個軸,它的標籤繪製在您的數據?這是我討厭Excel繪圖的原因之一 - 這只是一個愚蠢的事情。數據背後的網格會好得多。 – 2011-06-17 12:38:45

回答

3

創建一些數據

x <- runif(50, -10, 10) 
y <- runif(50, -10, 10) 

在基礎圖形,您可以使用abline函數畫在一塊土地上線。關鍵是要繪製在x=0y=0位置的垂直線和水平線:

plot(x, y) 
abline(h=0) 
abline(v=0) 

enter image description here

實現相似的結果的另一種方法是使用ggplot2包:

library(ggplot2) 
qplot(x, y) + geom_vline(xintercept=0) + geom_hline(yintercept=0) 

enter image description here

+0

'abline(h = 0,v = 0)'是一個簡寫。甚至是單線:'plot(x,y,panel.last = abline(h = 0,v = 0))'。 – Marek 2011-06-17 19:03:01

7
x <- runif(50, -10, 10) 
y <- runif(50, -10, 10) 
plot(x, y, yaxt="n") # don't plot y-axis, see ?par, section xaxt 
axis(2, pos=0) # Draw y-axis at 0 line 

x-axis on 0 line

但我個人認爲,你應該使用grid()Andrie solution

+3

+1用於回答書面問題。我可能會建議'las = 1'(也許是'bty ​​=「n」') – 2011-06-17 11:57:41