2012-02-10 17 views
19

Ho bisogno di tracciare due barre di errore su ciascun punto in un grafico a dispersione. Il solito è barre di errore verticali che corrispondono all'errore sul valore y dei punti, ma ho bisogno di aggiungere anche la barra degli errori associata all'asse X (orizzontale). Probabilmente potrei farlo con qualche comando abline, ma ho pensato che potrebbe esserci un modo più intelligente di farlo con ggplot2?ggplot2: Aggiunta di due errors in ogni punto del diagramma di dispersione

+2

Credo che ci sia un 'geom_errorbarh' che prende' x', ' xmin' e 'xmax' analogamente a' geom_errorbar'. – joran

+0

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

risposta

28

Solo per amor di completamento, seguito su mio commento, ecco un semplice (seppur brutto) Esempio:

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

Grazie mille per questa risposta! mi ci è voluto del tempo per riprodurre i risultati con i miei dati come nei miei dati le colonne NON sono denominate "x" e "y", che (apparentemente) significa che per il geom_errorbar devi passare la coordinata x, cioè: geom_errorbar (aes (x = var, ymin = ...)) e per il geom_errorbarh sia x che y, quindi: geom_errorbarh (aes (x = var1, y = var2, xmin = ...)). Questo ultimo dettaglio del geom_errorbarh orizzontale non sembra essere documentato nel file di aiuto, ho dovuto dedurlo dal messaggio di errore che ho ricevuto. –

+1

Spiacente, vedo che si definiscono x e y nella prima chiamata a ggplot, questo è quello che avrei dovuto fare. Grazie ancora. –

Problemi correlati