So passen Sie Legendenfarben und Plotfarben in überlappenden Flächendiagrammen in ggplot2 an

Ich habe folgende Daten:

head(MP_rates_dateformat) 
       Month repo revrepo bankrate CRR Callrate  WPI GDP  FED
1 2001-04-01 9.00    6.75        7 8.0     7.49 5.41 4.6 4.50
2 2001-05-01 8.75    6.50        7 7.5     8.03 5.60 4.6 4.00
3 2001-06-01 8.50    6.50        7 7.5     7.24 5.30 4.6 3.75
4 2001-07-01 8.50    6.50        7 7.5     7.19 5.23 5.3 3.75
5 2001-08-01 8.50    6.50        7 7.5     6.94 5.41 5.3 3.50
6 2001-09-01 8.50    6.50        7 7.5     7.30 4.52 5.3 3.00

Ich versuche, Zeitreihen überlappende Flächendiagramme für Variablen zu zeichnenrepo undrevrepo usingggplot2.

p2 <- ggplot(MP_rates_dateformat, aes(x= Month)) + geom_area(aes(y=repo, color="repo"), fill="yellowgreen") + geom_area(aes(y=revrepo,color="revrepo"), fill="dodgerblue", alpha=0.7, linetype="dotted") + labs(color="")+ labs(title="Overlapping - Repo & Reverse Repo") 

p2

Wie wir sehen können, wird die Legende mit denselben Farben angezeigt, und die Legendenfelder für beide Variablen werden ausgefüllt. Ich möchte, dass es die richtigen entsprechenden Farben anzeigt, d. H. Gelbgrün fürrepo und dodgerblue fürrevrepo.

Angenommen, ich schmelze die Daten als:

df <- reshape2::melt(MP_rates_dateformat[, c("Month", "repo", "revrepo")], id="Month")

head(df, 3)

      Month variable value
1 2001-04-01     repo  9.00
2 2001-05-01     repo  8.75
3 2001-06-01     repo  8.50

p1 <- ggplot(df, aes(x=Month)) + geom_area(aes(y=value, fill=variable)) + labs(title="Non-Overlapping - Repo & Reverse Repo")

Aber dies gibt mir nicht überlappende Flächendiagramme mit der richtigen Legende .... ABER ich suche nach überlappenden Flächendiagrammen.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage