2012-06-13 23 views
15

Estoy tratando de agregar etiquetas de panel a diferentes facetas en un trazado. Yo quiero que sean 1: 7, pero el siguiente códigoUso de anotaciones para agregar anotaciones diferentes a diferentes facetas

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) 

produce

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

Ahora, puedo suministrar un valor único y conseguir que replicado en todas las facetas. Pero, ¿cómo puedo tener diferentes etiquetas en diferentes facetas usando annotate()?

Respuesta

21

Con annotate, no puede. Pero al configurar un data.frame y utilizarlo como fuente de datos para geom_text, es fácil (con algunos aspectos de contabilidad).

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

Cuestiones relacionadas