2012-06-13 12 views
15

Sto tentando di aggiungere etichette di pannello a diversi aspetti in un grafico. Voglio che siano 1: 7, ma, il seguente codiceUso di annotate per aggiungere annotazioni diverse a diversi aspetti

d <- ggplot(diamonds, aes(carat, price, fill = ..density..)) + 
    xlim(0, 2) + stat_binhex(na.rm = TRUE) + opts(aspect.ratio = 1) 

d1<-d + facet_wrap(~ color) 

d1+annotate("text", x=0.25, y=1.5e+04, label=1:7) 

cede

Error: When _setting_ aesthetics, they may only take one value. Problems: label 

Ora, posso fornire un singolo valore e ottenere che replicati in tutti gli aspetti. Ma come posso avere etichette diverse in diversi aspetti usando annotate()?

risposta

21

Con annotate, non è possibile. Ma impostando uno data.frame e utilizzandolo come origine dati per un geom_text, è facile (con alcuni aspetti contabili).

d1 + geom_text(data=data.frame(x=0.25, y=1.5e+04, label=1:7, 
           color=c("D","E","F","G","H","I","J")), 
       aes(x,y,label=label), inherit.aes=FALSE) 

enter image description here

Problemi correlati