Tengo algunos datos para los cuales, en un nivel de un factor, hay una correlación significativa. En el otro nivel, no hay ninguno. Trazar estos lado a lado es simple. Agregar una línea a ambos con stat_smooth, también sencillo. Sin embargo, no quiero que se muestre la línea o su relleno en una de las dos facetas. ¿Hay una manera simple de hacer esto? Tal vez especificando un color en blanco para el relleno y el color de una de las líneas de alguna manera?Agregando stat_smooth a solo 1 faceta en ggplot2
10
A
Respuesta
28
No pensar en coger 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)
3
Por supuesto, más tarde respondí mi propia pregunta. Aunque, ¿hay una forma menos hack-y para hacer esto? Me pregunto si uno podría incluso adaptar diferentes funciones a diferentes paneles.
Una técnica es usar + scale_fill_manual y scale_colour_manual. Permiten especificar los colores que se utilizarán. Entonces, en este caso, supongamos que tiene
a<-qplot(x, y, facets=~z)+stat_smooth(method="lm", aes(colour=z, fill=z))
Puede especificar los colores para el relleno y el color usando lo siguiente. Tenga en cuenta que el segundo color es claro, ya que está utilizando un valor hexadecimal con los dos últimos números que representan la transparencia. Entonces, 00 = claro.
a+stat_fill_manual(values=c("grey", "#11111100"))+scale_colour_manual(values=c("blue", "#11111100"))
Cuestiones relacionadas
- 1. ggplot2: dividir el texto de faceta/tira en dos líneas
- 2. Eliminación de factores no utilizados de una faceta en ggplot2
- 3. ggplot2: stat_smooth para resultados logísticos con facet_wrap modelos 'glm completos' o 'subconjuntos' glm
- 4. agregando etiquetas de ejes xey en ggplot2
- 5. R stat_smooth todos los puntos
- 6. ggplot2: escala de colores por separado por cada faceta
- 7. Cómo establecer los rangos de los valores tomados por ggplot2 stat_smooth() para ajustar líneas?
- 8. Restricción de stat_smooth a un rango particular
- 9. ¿Qué es 'faceta' en JavaEE?
- 10. Adición de títulos de faceta y el cambio de título de la leyenda en ggplot2
- 11. Por qué mi restablecimiento de la colección backbone.js solo está agregando 1 modelo
- 12. bloqueando solo 1 operación?
- 13. Agregando múltiples valores en ArrayList en un solo índice
- 14. elasticsearch doble faceta
- 15. Agregue texto a un diagrama con facetas en ggplot2 con fechas en el eje X
- 16. R + ggplot: cómo cambiar opciones por faceta
- 17. agregando KVO a UITableViewCell
- 18. Agregando condiciones a Contable en CakePHP
- 19. barplot usando ggplot2
- 20. modificar la función lm o loess a utilizarlo dentro de geom_smooth ggplot2
- 21. ggplot2: significar en la función a tiempo
- 22. Diccionario bidireccional 1 a 1 en C#
- 23. ggplot2: Agregar puntos a geom_line
- 24. agregando borde a jcheckbox
- 25. agregando JLayeredPane a JPanel
- 26. ¿Cómo puedo forzar que geom_tile de ggplot llene cada faceta?
- 27. agregando @ font-face a CKEditor
- 28. agregando múltiples jPanels a jFrame
- 29. Agregando un TimeSpan a un DateTime dado
- 30. ggplot - faceta por salida de función
Eso suena como una solución razonable. En general, si está utilizando facetas, realmente quiere poner lo mismo en cada faceta. Si no lo hace, es mejor que utilice enfoques alternativos. Consulte esta pregunta (y mi respuesta) para obtener más información: http://stackoverflow.com/questions/1532535/showing-multiple-axis-labels-using-ggplot2-with-facetwrap-in-r – Harlan