Wie fülle ich eine geom_area() plot mit ggplot?

Ich habe eine geom_area plot, der wie folgt aussieht: Wie fülle ich eine geom_area() plot mit ggplot?

Ich will Farben alles, was oberhalb der x-Achse grün und alles unterhalb der x-Achse rot. Ich habe eine Spalte Kategorie, in der meine Daten enthält, die die Zeichenfolge "positiv" für alle positiven Werte und "negativ" für alle negativen Werte, also versuchte ich es einfach tun, fill = Kategorie und mit scale_fill_manual, um positiv eingestellt zu grün und negative rot, aber das gibt mir dies:
Wie fülle ich eine geom_area() plot mit ggplot?

Grün der oberhalb der x sieht richtig aus, aber das rot unterhalb der Achse ist nicht richtig. Ich habe meine Daten und es gibt keine negativen Datenpunkte, wo es Färbung rot nach Oct20, und mit geom_point stattdessen bekomme ich die richtigen Farben.

Hier ist ein Beispiel meiner Daten:

created                 score   category
2011-10-19 21:26:19     2   positive
2011-10-19 22:50:33    -2   negative
2011-10-20 15:12:38    -2   negative
2011-10-20 17:19:24    -2   negative
2011-10-20 22:12:44     2   positive
2011-10-20 22:16:57     4   positive
2011-10-21 08:22:53     2   positive

und hier ist der code, den ich verwende, um die Handlung:

ggplot(data = df, aes(x = created, y = score, colour = category)) + geom_point(aes(fill = category)) + scale_fill_manual(values = c("positive" = "green", "negative" = "red"))

Mein problem könnte damit zusammenhängen diese Vorherige Frage.

Dieser blog-post kann helfen.

InformationsquelleAutor William Gunn | 2011-10-24

Schreibe einen Kommentar