Hi wollte die folgende Tabelle anpassen, so dass die Werte unter Null in rot und die oben genannten in dunkelblau gefüllt sind. Wie kann ich das mit ggplot2 machen?Spezifische Füllfarben in ggplot2 durch Vorzeichen setzen
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)
brillant. Vielen Dank. scale_fill_manual war was ich gesucht habe. Ich nehme Ihren Punkt über das Schmelzen und Neuformulieren der Daten. Ich war faul mit dem dput(). Dies funktioniert immer noch mit meinem clunkier Code '+ scale_fill_manual (Werte = c (" 1 "=" dunkelblau "," - 1 "=" rot "))' aber macht viel weniger zugänglich Analyse. –
Normalerweise verwenden Sie Vektoren nicht als Ästhetik. Ästhetik ist eine Abbildung Ihrer Variablen (Spalten in einem Datenrahmen) auf Achsen in der Zeichnung. –