[R-es] Gráfico de barras positivas y negativas con ggplot2
José Luis Cañadas Reche
canadasreche en gmail.com
Jue Mar 7 13:18:28 CET 2013
Hola a todos.
Tengo los siguientes datos
datos <- structure(list(comunidad = structure(c(1L, 2L, 3L, 4L, 5L, 6L,
8L, 7L, 9L, 11L, 12L, 13L, 14L, 16L, 17L, 18L, 19L, 10L, 15L,
1L, 2L, 3L, 4L, 5L, 6L, 8L, 7L, 9L, 11L, 12L, 13L, 14L, 16L,
17L, 18L, 19L, 10L, 15L), .Label = c("Andalucía" , "Aragón" ,
"Asturias ", "Baleares ", "Canarias", "Cantabria", "Castilla - La Mancha",
"Castilla y León" , "Cataluña" , "Ceuta ", "C. Valenciana",
"Extremadura", "Galicia", "Madrid ", "Melilla", "Murcia", "Navarra ",
"País Vasco" , "Rioja (La)"), class = "factor"), variable =
structure(c(1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L), .Label = c("esp", "ext"), class = "factor"),
value = c(8928L, 1256L, -4555L, 6567L, -12257L, 421L, -13078L,
3240L, 30363L, 9846L, -2059L, -15639L, 61411L, 6850L, 4492L,
1849L, 569L, 758L, 1095L, 16955L, 1918L, 428L, -242L, 3832L,
319L, 693L, 3314L, 927L, 2230L, 822L, 1715L, -52531L, -2470L,
-1977L, 6638L, 85L, 884L, 1231L)), .Names = c("comunidad",
"variable", "value"), row.names = c(NA, -38L), class = "data.frame")
Y quiero hacer un gráfico de barras con ggplot2 de forma que, por
ejemplo para Madrid, tenga la barra de esp con valores positivos y la de
ext con valores negativos.
He probado con el siguiente código
library(ggplot2)
p <- ggplot(data=datos,aes(x=comunidad,y=value))
p + geom_bar(stat = "identity",aes(fill=variable))
Cuando los valores de esp y ext son los dos del mismo signo en una
comunidad , si salen bien las barras, pero no si son distintos.
También salen unos cuantos warnings , entre ellos el que creo que da la
clave.
Mensajes de aviso perdidos
Stacking not well defined when ymin != 0
¿alguna idea de cómo puedo conseguirlo?
Gracias
Más información sobre la lista de distribución R-help-es