C'è un modo per impostare una larghezza costante per geom_bar()
in caso di dati mancanti nell'esempio delle serie temporali di seguito? Ho provato a impostare width
in aes()
senza fortuna. Confrontare la larghezza delle barre da maggio11 a giugno '11 nella trama sotto l'esempio di codice.Larghezza coerente per geom_bar in caso di dati mancanti
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)
Esiste un problema simile [qui] (https://github.com/hadley/ggplot2/issues/235) tuttavia tratta solo di 'stats' che non possono gestire il parametro width. 'position = 'dodge'' sembra avere lo stesso fallimento. Qualcuno con un po 'più di conoscenza di 'ggplot' potrebbe voler appesantire, ma questo sembra un potenziale bug. – Justin
Mi sono imbattuto anche in questo problema. Buono a sapersi. Per ora, userò la soluzione alternativa riportata di seguito riempiendo i valori con NA. – tcash21
Nella sua risposta a https://github.com/tidyverse/ggplot2/issues/1776, Hadley dice: _E 'così che schivare funziona. Potresti invece provare a sfaccettatura._ BTW, questo problema è già stato affrontato più volte su SO: [qui] (http://stackoverflow.com/q/12806260/3817004) e [qui] (http: // StackOverflow .com/q/15367762/3817004), ad es – Uwe