2011-06-17 104 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