2011-06-17 25 views
5

Estoy tratando de crear un gráfico de dispersión simple en R, donde el rango del eje x es -10: 10, y de reubicar el eje y al punto x = 0. Esto parece una operación bastante básica, pero no encontré la manera de hacerlo ... ¡Gracias por cualquier ayuda!Posición del eje en el diagrama de dispersión R

+0

El argumento para definir el rango del eje x es 'plot (..., xlim = c (-10, 10))'. Ver '? Par' para más información. –

+1

ahora ¿por qué querrías hacer esto y tener un eje y sus etiquetas dibujadas sobre tus datos? Esta es una de las razones por las que odio el plan de Excel: es una tontería. Una cuadrícula detrás de los datos sería mucho mejor. –

Respuesta

3

crear algunos datos

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

En los gráficos de base, puede utilizar la función abline para dibujar líneas en una parcela. El truco es dibujar una línea vertical y la línea horizontal en la x=0 y y=0 posiciones:

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

enter image description here

Una forma alternativa de lograr un resultado similar es utilizar el ggplot2 paquete:

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

enter image description here

+0

'abline (h = 0, v = 0)' es una abreviatura. O incluso un trazador de líneas: 'plot (x, y, panel.last = abline (h = 0, v = 0))'. – Marek

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

Pero personalmente creo que se debe utilizar grid() o Andrie solution.

+3

+1 por responder la pregunta tal como está escrita. También podría sugerir 'las = 1' también (y tal vez' bty = "n" ') –

Cuestiones relacionadas