Wie fülle ich eine geom_area() plot mit ggplot?
Ich habe eine geom_area plot, der wie folgt aussieht:
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:
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.
InformationsquelleAutor William Gunn | 2011-10-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Sie brauchen, um eine neue Gruppierung der Variablen für jede positiv - /negativ-segment. Um die übergänge weniger "blocky", Sie können nur erste interpolieren der Daten:
created
Spalte aus der Beispiel-Daten für eine einfachere Beladung.Funktioniert für mich! rle ist eine nette neue trick, auch.
Toll, ich bin froh, dass es funktionierte. Ich habe gelernt, über rle, mich. 🙂
Diese Lösung ist eine Näherung und nicht gut funktioniert, wenn die Werte den die Achse wiederholt. (Beachten Sie die kleinen Lücken, wo die rot-grün-übergänge sind.) Siehe diese Frage für einen Vergleich der drei Lösungen für das problem.
InformationsquelleAutor John Colby