Bestimmte Füllfarben in ggplot2 von Zeichen
Hi wollte einstellen das folgende Diagramm so, dass die Werte unter null gefüllt sind rot, und diejenigen, die oben sind in dunkelblau. Wie kann ich dies mit ggplot2?
mydata = structure(list(Mealtime = "Breakfast", Food = "Rashers", `2002` = 9.12,
`2003` = 9.5, `2004` = 2.04, `2005` = -20.72, `2006` = 18.37,
`2007` = 91.19, `2008` = 94.83, `2009` = 191.96, `2010` = -125.3,
`2011` = -18.56, `2012` = 63.85), .Names = c("Mealtime", "Food", "2002", "2003", "2004", "2005", "2006", "2007", "2008","2009", "2010", "2011", "2012"), row.names = 1L, class = "data.frame")
x=ggplot(mydata) +
aes(x=colnames(mydata)[3:13],y=as.numeric(mydata[1,3:13]),fill=sign(as.numeric(mydata[1,3:13]))) +
geom_bar(stat='identity') + guides(fill=F)
print(x)
InformationsquelleAutor Tahnoon Pasha | 2012-10-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Art und Weise Sie die Struktur Ihrer Daten ist nicht so, wie es sein sollte in
ggplot2
:Basic-barplot:
Der trick ist nun, fügen Sie eine zusätzliche variable, die angibt, wenn der Wert negativ ist oder positiv:
..und, dass im Aufruf
ggplot2
(kombiniert mitscale_fill_*
für die Farben):+ scale_fill_manual(values=c("1" = "dark blue","-1" = "red"))
macht aber für viel weniger zugänglich-Analyse.Sie normalerweise nicht verwenden Vektoren als ästhetik. Ästhetik ist eine Zuordnung der Variablen (Spalten in einem data.Rahmen) zu Achsen in der plot.
InformationsquelleAutor Paul Hiemstra