¿Hay alguna manera de establecer un ancho constante para geom_bar()
en caso de que falten datos en el ejemplo de series de tiempo a continuación? Intenté configurar width
en aes()
sin suerte. Compare el ancho de las barras entre mayo de 2011 y junio de 2011 en el diagrama debajo del ejemplo de código.Ancho uniforme para geom_bar en caso de datos faltantes
colours <- c("#FF0000", "#33CC33", "#CCCCCC", "#FFA500", "#000000")
iris$Month <- rep(seq(from=as.Date("2011-01-01"), to=as.Date("2011-10-01"), by="month"), 15)
colours <- c("#FF0000", "#33CC33", "#CCCCCC", "#FFA500", "#000000")
iris$Month <- rep(seq(from=as.Date("2011-01-01"), to=as.Date("2011-10-01"), by="month"), 15)
d<-aggregate(iris$Sepal.Length, by=list(iris$Month, iris$Species), sum)
d$quota<-seq(from=2000, to=60000, by=2000)
colnames(d) <- c("Month", "Species", "Sepal.Width", "Quota")
d$Sepal.Width<-d$Sepal.Width * 1000
g1 <- ggplot(data=d, aes(x=Month, y=Quota, color="Quota")) + geom_line(size=1)
g1 + geom_bar(data=d[c(-1:-5),], aes(x=Month, y=Sepal.Width, width=10, group=Species, fill=Species), stat="identity", position="dodge") + scale_fill_manual(values=colours)
Existe un problema similar [aquí] (https://github.com/hadley/ggplot2/issues/235) sin embargo, se trata solo de 'stats' que no pueden manejar el parámetro de ancho. 'position = 'dodge'' parece tener la misma falla. Alguien con un poco más de conocimiento sobre 'ggplot' puede querer subir de peso, pero esto suena como un posible error. – Justin
Me encontré con ese problema también. Bueno saber. Por ahora, usaré la solución publicada a continuación completando los valores con NA. – tcash21
En su respuesta a https://github.com/tidyverse/ggplot2/issues/1776, Hadley dice: _ Así es como funciona el esquivar. En su lugar, puede probar facetar. Por cierto, este problema ya se ha abordado varias veces en SO: [aquí] (http://stackoverflow.com/q/12806260/3817004) y [aquí] (http: // stackoverflow .com/q/15367762/3817004), por ejemplo – Uwe