Pregunta

Tengo algunos datos para que, en un nivel de un factor, existe una correlación significativa. En el otro nivel, no hay ninguno. Trazado de éstos de lado a lado es simple. Adición de una línea a ambos con stat_smooth, también sencillo. Sin embargo, no quiero que la línea o su relleno que aparece en una de las dos facetas. ¿Hay una manera simple de hacer esto? Tal vez la especificación de un color blanco para el relleno y el color de una de las líneas de alguna manera?

¿Fue útil?

Solución

No pensar en recoger una faceta, piense el suministro de un subconjunto de sus datos a stat_smooth:

ggplot(df, aes(x, y)) +
  geom_point() + 
  geom_smooth(data = subset(df, z =="a")) + 
  facet_wrap(~ z)

Otros consejos

Por supuesto, más tarde me respondí a mi propia pregunta. Aunque, hay una manera de cortar-y menos de hacer esto? Me pregunto si incluso se podría adaptarse a diferentes funciones a diferentes paneles.

Una técnica es utilizar + scale_fill_manual y scale_colour_manual. Permiten a uno especificar qué colores se utilizarán. Por lo tanto, en este caso, digamos que usted tiene

a<-qplot(x, y, facets=~z)+stat_smooth(method="lm", aes(colour=z, fill=z))

Puede especificar colores para el relleno y los colores con estos. Tenga en cuenta, el segundo color es clara, ya que está utilizando un valor hexadecimal con los dos últimos números que representan la transparencia. Por lo tanto, 00 = clara.

a+stat_fill_manual(values=c("grey", "#11111100"))+scale_colour_manual(values=c("blue", "#11111100"))
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top