2012-02-10 24 views
19

Necesito trazar dos barras de error en cada punto en un diagrama de dispersión. Lo usual son las barras de error verticales que corresponden al error en los puntos y-value, pero también necesito agregar la barra de error asociada con el eje X (horizontal). Probablemente podría hacer esto con algún comando de abline, pero pensé que podría haber una forma más inteligente de hacerlo con ggplot2.ggplot2: Agregar dos barras de error a cada punto en el diagrama de dispersión

+2

Creo que hay una 'geom_errorbarh' que lleva' x', ' xmin' y 'xmax' análogamente a' geom_errorbar'. – joran

+0

http://permalink.gmane.org/gmane.comp.lang.r.ggplot2/3231 –

Respuesta

28

Sólo por causa de la terminación, el seguimiento de mi comentario, aquí es un ejemplo (fea aunque) simplemente:

df <- data.frame(x = 1:10, 
       y = 1:10, 
       ymin = (1:10) - runif(10), 
       ymax = (1:10) + runif(10), 
       xmin = (1:10) - runif(10), 
       xmax = (1:10) + runif(10)) 

ggplot(data = df,aes(x = x,y = y)) + 
    geom_point() + 
    geom_errorbar(aes(ymin = ymin,ymax = ymax)) + 
    geom_errorbarh(aes(xmin = xmin,xmax = xmax)) 

enter image description here

+4

¡Muchas gracias por esa respuesta! Me llevó algo de tiempo reproducir sus resultados con mis propios datos ya que en mis datos las columnas NO se llaman "x" e "y", lo que (aparentemente) significa que para la barra geom_error necesita pasar la coordenada x, es decir: geom_errorbar (aes (x = var, ymin = ...)) y para geom_errorbarh tanto x como y, entonces: geom_errorbarh (aes (x = var1, y = var2, xmin = ...)). Este último detalle de la geom_errorbarh horizontal no parece estar documentado en el archivo de ayuda, tuve que deducirlo del mensaje de error que recibí. –

+1

Lo siento, veo que defines xey en la primera llamada a ggplot, eso es lo que debería haber hecho. Gracias de nuevo. –

Cuestiones relacionadas