Carlos Ortega
2017-Jun-25 08:26 UTC
[R-es] Orden de categorías en gráficos de barras (position = "stack")
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>
Mauricio Monsalvo
2017-Jun-26 09:39 UTC
[R-es] Orden de categorías en gráficos de barras (position = "stack")
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 ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20170626/bb8ca13c/attachment-0001.html> ------------ 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/bb8ca13c/attachment-0002.png> ------------ 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/bb8ca13c/attachment-0003.png>
Carlos Ortega
2017-Jun-26 11:01 UTC
[R-es] Orden de categorías en gráficos de barras (position = "stack")
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>
jose luis
2017-Jun-26 11:26 UTC
[R-es] Orden de categorías en gráficos de barras (position = "stack")
Si quieres que te quede centrado el valor dentro de cada casilla tabla.barras<-ddply(tabla.barras,.(Rangos), transform, Pos = ave(Asistentes, FUN = cumsum) - Asistentes / 2) ggplot(tabla.barras, aes(x = Rangos, y = Asistentes, group = Rangos, fill = Clase)) + geom_bar(stat= "identity")+ geom_text(aes(label = Asistentes,y=Pos), size = 3) + 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) El Lunes 26 de junio de 2017 12:43, Mauricio Monsalvo <m.monsalvo en gmail.com> escribió: Bingo!! Muchas gracias, José Luis! El 26 de junio de 2017, 7:13, jose luis <pepeceb en yahoo.es> escribió: Y asi? Usando group = Rangos, fill = Clase ggplot(tabla.barras, aes(x = Rangos, y = Asistentes, group = Rangos, fill = Clase)) + geom_col(position = "stack") El Lunes 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: ggplot2Loading tidyverse: tibbleLoading tidyverse: tidyrLoading tidyverse: readrLoading tidyverse: purrrLoading tidyverse: dplyrConflicts with tidy packages ------------------------------ ------------------------------ --------------------------filter(): dplyr, statslag(): dplyr, statsWarning 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 Asistentes1 45d EPI 4052 1a EPI 8123 2a EPI 16394 3a EPI 22025 4a EPI 19946 5a EPI 2557 45d SemiEPI 6148 1a SemiEPI 8819 2a SemiEPI 217410 3a SemiEPI 325411 4a SemiEPI 293412 5a SemiEPI 66213 45d NoEPI 56514 1a NoEPI 31615 2a NoEPI 61516 3a NoEPI 95617 4a NoEPI 84018 5a NoEPI 609" DF <- read.table(textConnection( Lines), header=T, as.is = TRUE)tabla.barras <- DFtabla.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 Ortegawww.qualityexcellence.es El 25 de junio de 2017, 10:19, jose luis via R-help-es <r-help-es en r-project.org> escribió: 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 Asistentes1 De 45d EPI 4052 De 1a EPI 8123 De 2a EPI 16394 De 3a EPI 22025 De 4a EPI 19946 De 5a EPI 2557 De 45d SemiEPI 6148 De 1a SemiEPI 8819 De 2a SemiEPI 217410 De 3a SemiEPI 325411 De 4a SemiEPI 293412 De 5a SemiEPI 66213 De 45d NoEPI 56514 De 1a NoEPI 31615 De 2a NoEPI 61516 De 3a NoEPI 95617 De 4a NoEPI 84018 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 -ClaseEstoy 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)))? ?-- Mauricio______________________________ _________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/l istinfo/r-help-es ______________________________ _________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/l istinfo/r-help-es -- Saludos, Carlos Ortega www.qualityexcellence.es -- Mauricio______________________________ _________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/ listinfo/r-help-es -- Mauricio ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20170626/d5418770/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/d5418770/attachment-0004.png> ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: image.png Type: image/png Size: 34748 bytes Desc: no disponible URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20170626/d5418770/attachment-0005.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/d5418770/attachment-0006.png> ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: image.png Type: image/png Size: 33688 bytes Desc: no disponible URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20170626/d5418770/attachment-0007.png>