[R-es] Orden de categorías en gráficos de barras (position = "stack")
Carlos Ortega
cof en qualityexcellence.es
Lun Jun 26 13:01:19 CEST 2017
Hola Mauricio,
Debiera de funcionar, yo estoy usando la misma versión de ggplot que tú...
Si puedes compartir el data.frame antes de llamar a ggplot por ver si tiene
la misma estructura que lo que compartiste...
Gracias,
Carlos.
El 26 de junio de 2017, 11:39, Mauricio Monsalvo <m.monsalvo en gmail.com>
escribió:
> Muchas gracias a los dos por las respuestas.
> Estoy usando tidiverse, que debe ser la del conflicto. Pero probé
> reseteando el R y corriendo la sintaxis de Carlos sola y tampoco
> funciona...
> library(tidyverse)
> Loading tidyverse: ggplot2
> Loading tidyverse: tibble
> Loading tidyverse: tidyr
> Loading tidyverse: readr
> Loading tidyverse: purrr
> Loading tidyverse: dplyr
> Conflicts with tidy packages ------------------------------
> --------------------------------------------------------
> filter(): dplyr, stats
> lag(): dplyr, stats
> Warning messages:
> 1: package ‘tidyverse’ was built under R version 3.3.3
> 2: package ‘tibble’ was built under R version 3.3.3
> 3: package ‘tidyr’ was built under R version 3.3.3
> 4: package ‘readr’ was built under R version 3.3.3
> 5: package ‘purrr’ was built under R version 3.3.3
> Los datos de la sesión son los siguientes (Imagino que tengo que
> actualizar el propio R tambbién):
> > sessionInfo()
> R version 3.3.2 (2016-10-31)
> Platform: x86_64-w64-mingw32/x64 (64-bit)
> Running under: Windows >= 8 x64 (build 9200)
>
> locale:
> [1] LC_COLLATE=Spanish_Argentina.1252 LC_CTYPE=Spanish_Argentina.1252
> LC_MONETARY=Spanish_Argentina.1252
> [4] LC_NUMERIC=C LC_TIME=Spanish_Argentina.1252
>
> attached base packages:
> [1] stats graphics grDevices utils datasets methods base
>
> other attached packages:
> [1] openxlsx_4.0.17 stringr_1.2.0 data.table_1.10.4 foreign_0.8-67
> dplyr_0.5.0 purrr_0.2.2.2
> [7] readr_1.1.1 tidyr_0.6.3 tibble_1.3.3 *ggplot2_2.2.1
> *tidyverse_1.1.1
>
> loaded via a namespace (and not attached):
> [1] Rcpp_0.12.11 cellranger_1.1.0 plyr_1.8.4 forcats_0.2.0
> tools_3.3.2 jsonlite_1.5
> [7] lubridate_1.6.0 gtable_0.2.0 nlme_3.1-128 lattice_0.20-35
> rlang_0.1.1 psych_1.7.5
> [13] DBI_0.6-1 parallel_3.3.2 haven_1.0.0 httr_1.2.1
> xml2_1.1.1 hms_0.3
> [19] grid_3.3.2 R6_2.2.1 readxl_1.0.0 reshape2_1.4.2
> modelr_0.1.0 magrittr_1.5
> [25] scales_0.4.1 assertthat_0.2.0 mnormt_1.5-5 rvest_0.3.2
> colorspace_1.3-2 stringi_1.1.5
> [31] lazyeval_0.2.0 munsell_0.4.3 broom_0.4.2
>
>
> El 25 de junio de 2017, 5:26, Carlos Ortega <cof en qualityexcellence.es>
> escribió:
>
>> 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
>>
>
>
>
> --
> Mauricio
>
--
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/20170626/1ac451d4/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/20170626/1ac451d4/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/20170626/1ac451d4/attachment-0003.png>
Más información sobre la lista de distribución R-help-es