ggplot2: colorear el texto del eje en un gráfico facetado
Parece que no puedo colorear correctamente el texto del eje en un gráfico facetado cuando elscales
el parámetro se establece en"free"
. Considere el siguiente conjunto de datos:
library( ggplot2 )
X <- data.frame( V1 = LETTERS, V2 = runif( 26 ),
V3 = rep( c("F1", "F2"), each = 13 ) )
Podemos trazar los datos en una sola faceta, resaltando las letras D, O, T de la siguiente manera:
v <- ifelse( X$V1 %in% c( "D", "O", "T" ), "red", "black" )
g <- ggplot( X, aes( x = V1, y = V2 ) ) + geom_point() +
theme( axis.text.x = element_text( color = v ) )
Hacer la trama facetada usando el valor predeterminadoscales = "fixed"
resalta correctamente D, O, T en ambas facetas.
g + facet_wrap( ~V3 )
Sin embargo, cambiando elscales
parámetro a"free"
conduce a un comportamiento inesperado, donde solo D y Q están resaltados.
g + facet_wrap( ~V3, scales = "free" )
Mi pregunta: ¿es esto un error o necesito modificar de alguna manera mi definición dev
para contabilizar escalas gratis. Si se trata de un error, ¿alguien sabe de una solución alternativa para resaltar texto de eje específico en cada faceta (a escala libre)?
EDITAR: La propia respuesta se movió a las respuestas, como lo sugirió Henrik.