2017-11-16

Cambiar el color y añadir leyenda en un diagrama de barras por subgrupos en ggplot2

Problema

Cuando creamos un diagrama de barras por subgrupos (facet_grid), aunque especifiquemos color para el eje x, ggplot2 crea un gráfico monocromático, sin cambiar el color de cada columna.

library("ggplot2")    
ggplot(data = diamonds) + 
      geom_bar(mapping = aes(x = color, y = ..prop.., group = 2)) + 
      scale_y_continuous(labels=scales::percent) +
      facet_grid(~cut)

Solución

Al calcular la proporción por grupo, necesitamos especificar en una aesthetics (aes) diferente el color para alterar el comportamiento por defecto de ggplot2. Una dentro de la función ggplot y otra dentro de geom_bar con fill.

ggplot(data = diamonds, aes(x = color, y = ..prop.., group = cut)) + 
  geom_bar(aes(fill = factor(..x.., labels = LETTERS[seq(from = 4, to = 10 )]))) + 
  labs(fill = "color") + 
  scale_y_continuous(labels = scales::percent) + 
  facet_grid(~ cut)

Referencias

No hay comentarios:

Publicar un comentario

Nube de datos