[R-es] Orden de categorías en gráficos de barras (position = "stack")
Carlos Ortega
cof en qualityexcellence.es
Dom Jun 25 10:26:02 CEST 2017
Hola,
Mira la versión de ggplot2 que estás usando por tenerla actualizada a la
última...
A mi me funciona introduciendo algún cambio salvo la última línea cuando
cambias el tema...
#-----------
Lines <- " id Rangos Clase Asistentes
1 45d EPI 405
2 1a EPI 812
3 2a EPI 1639
4 3a EPI 2202
5 4a EPI 1994
6 5a EPI 255
7 45d SemiEPI 614
8 1a SemiEPI 881
9 2a SemiEPI 2174
10 3a SemiEPI 3254
11 4a SemiEPI 2934
12 5a SemiEPI 662
13 45d NoEPI 565
14 1a NoEPI 316
15 2a NoEPI 615
16 3a NoEPI 956
17 4a NoEPI 840
18 5a NoEPI 609
"
DF <- read.table(textConnection(Lines), header=T, as.is = TRUE)
tabla.barras <- DF
tabla.barras$Clase2 <- factor(tabla.barras$Clase, levels=c("EPI",
"SemiEPI", "NoEPI"))
library(ggplot2)
subtit.todos <- "Todos los Espacios (N = 311)."
caption <- 'FLACSO - UNICEF - SENAF (2017)'
ggplot(tabla.barras, aes(x = Rangos, y = Asistentes, group = Clase2, fill
= Clase2)) +
geom_col(position = "stack") +
geom_text(aes(label = Asistentes), position = position_stack(), vjust =
1, size = 4) +
labs(title = "Asistentes por tipo de servicio según tramo de edad."
, subtitle = subtit.todos
, x = "", y = "Cantidad de asistentes" ) +
# , caption = caption) +
theme(legend.position = "bottom", legend.direction = "horizontal",
legend.title = element_blank()) +
guides(fill = guide_legend(nrow = 1), color = guide_legend(nrow = 1),
size = 3)
#-----------
Saludos,
Carlos Ortega
www.qualityexcellence.es
El 25 de junio de 2017, 10:19, jose luis via R-help-es <
r-help-es en r-project.org> escribió:
> [image: Imagen en el mensaje]
>
> Es curioso porque aplicando tu script me queda como tu quieres que te
> quede a ti no?
> No he hecho nada que no hayas hecho tu
>
>
> ggplot(tabla.barras, aes(x = Rangos, y = Asistentes, fill = Clase)) +
> geom_bar(stat = "identity", position = "stack") +
> geom_text(aes(label = Asistentes), position = position_stack(), vjust
> = 1, size = 4) +
> labs(title = "Asistentes por tipo de servicio según tramo de edad."
> , subtitle = subtit.todos
> , x = "", y = "Cantidad de asistentes"
> , caption = caption)
>
>
>
> El Sábado 24 de junio de 2017 23:07, Mauricio Monsalvo <
> m.monsalvo en gmail.com> escribió:
>
>
>
> Hola.
> Estoy intentando ordenar el gráfico tal que las columnas se apilen en el
> siguiente orden: debajo, los EPI; los SemiEPI en el medio y los NoEpi
> arriba de todo.
> Estos son mis datos:
> > tabla.barras
> Rangos Clase Asistentes
> 1 De 45d EPI 405
> 2 De 1a EPI 812
> 3 De 2a EPI 1639
> 4 De 3a EPI 2202
> 5 De 4a EPI 1994
> 6 De 5a EPI 255
> 7 De 45d SemiEPI 614
> 8 De 1a SemiEPI 881
> 9 De 2a SemiEPI 2174
> 10 De 3a SemiEPI 3254
> 11 De 4a SemiEPI 2934
> 12 De 5a SemiEPI 662
> 13 De 45d NoEPI 565
> 14 De 1a NoEPI 316
> 15 De 2a NoEPI 615
> 16 De 3a NoEPI 956
> 17 De 4a NoEPI 840
> 18 De 5a NoEPI 609
> Probé cambiando el orden en el factor, pero no altera el orden en el
> gráfico:
> tabla.barras$Clase <- as.factor(tabla.barras$Clase)
> factor(tabla.barras$Clase, levels=c("EPI", "SemiEPI", "NoEPI"))
> Ni:
> ordered(tabla.barras$Clase, levels=c("EPI", "SemiEPI", "NoEPI"))
> Tampoco parece alterarlo el ordenar la tabla como:
> tabla.barras[order(Clase)] # ni -Clase
> Estoy seguro que el orden en el ggplot2 lo pone el orden que trae la tabla
> con los datos, pero estoy perdido por los resultados.
> subtit.todos <- "Todos los Espacios (N = 311)."
> caption <- 'FLACSO - UNICEF - SENAF (2017)'
> ggplot(tabla.barras, aes(x = Rangos, y = Asistentes, fill = Clase)) + #
> geom_bar(stat = "identity", position = "stack") +
> geom_text(aes(label = Asistentes), position = position_stack(), vjust
> = 1, size = 4) +
> labs(title = "Asistentes por tipo de servicio según tramo de edad."
> , subtitle = subtit.todos
> , x = "", y = "Cantidad de asistentes"
> , caption = caption) +
> theme(legend.position = "bottom", legend.direction = "vertical",
> legend.title = element_blank()) +
> guides(fill = guide_legend(nrow = 1), color = guide_legend(nrow = 1),
> size = 3) +
> theme(plot.caption = element_text(size = 8, hjust = 0, margin =
> margin(t = 15)))
> [image: Imágenes integradas 1]
>
> --
> Mauricio
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
--
Saludos,
Carlos Ortega
www.qualityexcellence.es
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20170625/079fa027/attachment-0001.html>
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 66321 bytes
Desc: no disponible
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20170625/079fa027/attachment-0002.png>
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 67964 bytes
Desc: no disponible
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20170625/079fa027/attachment-0003.png>
Más información sobre la lista de distribución R-help-es