2012-05-11 10 views
5

que utiliza este código para hacer que esta trama:Cómo trazar el valor de abline en R?

plot(p, cv2,col=rgb(0,100,0,50,maxColorValue=255),pch=16, 
    panel.last=abline(h=67,v=1.89, lty=1,lwd=3)) 

Mi argumento es el siguiente: Plot

1.) ¿Cómo se puede trazar I el valor de los ablines en una trama sencilla?

2.) ¿Cómo puedo escalar mi trazado para que ambas líneas aparezcan en el medio?

+0

por valor de abline quiere decir? cualquier código de ejemplo en absoluto? –

+0

Sí, eso es lo que quiero decir! –

+0

no, no sé a qué se refiere con el valor de abline –

Respuesta

6

para cambiar la escala de la trama así que las líneas están en el cambio medio de los ejes es decir

x<-1:10 
y<-1:10 
plot(x,y) 
abline(a=1,b=0,v=1) 

changed to: 

x<-1:10 
y<-1:10 
plot(x,y,xlim=c(-30,30)) 
abline(a=1,b=0,v=1) 

por "valor" Estoy asumiendo que quiere decir que la línea corta el eje x? Algo así como text? es decir:

text((0), min(y), "number", pos=2) 

si desea que la etiqueta en el eje x continuación, intente:

abline(a=1,b=0,v=1) 
axis(1, at=1,labels=1) 

para evitar la superposición entre las etiquetas se podía quitar el cero es decir:

plot(x,y,xlim=c(-30,30),yaxt="n") 
axis(2, at=c(1.77,5,10,15,20,25)) 

o antes trazar extender los márgenes y agregar las etiquetas más lejos del eje

par(mar = c(6.5, 6.5, 6.5, 6.5)) 
plot(x,y,xlim=c(-30,30)) 
abline(a=1,b=0,v=1) 
axis(2, at=1.77,labels=1.77,mgp = c(10, 2, 0)) 
+0

Este era mi enfoque: > plot (x, y, col = rgb (0,100,0,50, maxColorValue = 255), pch = 16, panel.last = abline (h = 0.78, v = 1.77, lty = 1, lwd = 3), yaxt = "n") > > eje (2, las = 1) > eje (2 , 0.78, 0.78, las = 1) > eje (1, 1.77, 1.77) que conduce a la siguiente imagen: [Gráfico] (http://i.imgur.com/xdPkW.png) Se puede ver que 0,49 y 0 se solapan ... ¿Cómo puedo solucionar este que no se superponen? –

+0

dio dos ejemplos –

0

similares en espíritu a la respuesta propuesta por @ user1317221, aquí está mi sugerencia

# generate some fake points 
x <- rnorm(100) 
y <- rnorm(100) 

# positions of the lines 
vert = 0.5 
horiz = 1.3 

Para mostrar las líneas en el centro de la parcela, en primer lugar calcular las distancias horizontal y vertical entre los puntos de datos y las líneas, luego ajuste los límites adecuadamente

# compute the limits, in order for the lines to be centered 
# REM we add a small fraction (here 10%) to leave some empty space, 
# available to plot the values inside the frame (useful for one the solutions, see below) 
xlim = vert + c(-1.1, 1.1) * max(abs(x-vert)) 
ylim = horiz + c(-1.1, 1.1) * max(abs(y-horiz)) 

# do the main plotting 
plot(x, y, xlim=xlim, ylim=ylim) 
abline(h=horiz, v=vert) 

Ahora, se podría trazar los 'valores de las líneas', ya sea en los ejes (el parámetro line le permite controlar para un posible solapamiento):

mtext(c(vert, horiz), side=c(1,2)) 

o, alternativamente, dentro del marco de trazado :

text(x=vert, y=ylim[1], labels=vert, adj=c(1.1,1), col='blue') 
text(x=xlim[1], y=horiz, labels=horiz, adj=c(0.9,-0.1), col='blue') 

HTH

Cuestiones relacionadas