Bedingte Färbung eines geom_smooth

9

Ich analysiere eine Serie, die um Null herum variiert. Und um zu sehen, wo es Teile der Serie gibt, die tendenziell überwiegend positiv oder überwiegend negativ sind, zeichne ich ein geom_smooth . Ich frage mich, ob es möglich ist, die Farbe der glatten Linie davon abhängig zu machen, ob sie über oder unter 0 liegt. Unten ist ein Code, der ein Diagramm erzeugt, ähnlich wie das, was ich erstellen möchte.

%Vor%

Ich überlegte, die geglätteten Werte zu berechnen, sie zum df hinzuzufügen und dann ein scale_color_gradient zu verwenden, aber ich fragte mich, ob es eine Möglichkeit gibt, dies in ggplot direkt zu erreichen.

    
Marijn Stevering 02.10.2015, 13:25
quelle

2 Antworten

7

Sie können das Argument n in geom_smooth verwenden, um die Anzahl der Punkte zu erhöhen, die glatter bei at bewertet werden, um weitere y-Werte nahe Null zu erzeugen. Verwenden Sie dann ggplot_build , um die geglätteten Werte vom ggplot -Objekt abzurufen. Diese Werte werden in einem geom_line verwendet, das über dem ursprünglichen Plot hinzugefügt wird. Zuletzt überplanen wir die y = 0 Werte mit dem geom_hline .

%Vor%

    
Henrik 02.10.2015, 15:52
quelle
6

In etwa so:

%Vor%

    
zx8754 02.10.2015 13:47
quelle

Tags und Links