Eine sehr einfache Frage, die ich denke, aber ich konnte keine Antwort darauf finden.Einzigartige Legende für zwei verschiedene Ästhetik mit ggplot2
Lassen Sie uns einen Beispieldatensatz mit 4 Spalten zeichnen. Ich möchte zwei verschiedene Punkte auf der gleichen Handlung, also mit unterschiedlicher Ästhetik, auftragen und habe eine Kolumnenlegende, die sie in ihren jeweiligen Farben beschreibt.
library(ggplot2)
set.seed(10)
ex <- data.frame("a" = c(1:100), "b" = rnorm(100),
"c" = seq(50, 249, 2), "d" = rnorm(100))
plot_ex <- ggplot(ex, aes(a, b)) +
geom_point(colour = "dodgerblue", cex = 2) +
geom_point(aes(x = c, y = d), colour = "firebrick3", cex = 2) +
theme_classic() +
labs(x = "X axis", y = "Y axis")
plot_ex
Ich habe versucht, eine scale_color_manual
Linie hinzuzufügen, aber ich es wahrscheinlich falsch codiert:
plot_ex +
scale_color_manual(values = c("dodgerblue", "firebrick3"), label = c("first", "second"), name = "")
Das funktioniert in der Tat, ich frage mich, ob sie eine andere Möglichkeit sind, um fortzufahren. Vielen Dank. –
Das ist schlechte Praxis. Eine gute Übung besteht darin, Ihre Daten in ein langes Format zu schmelzen und einen einzelnen "geom_point" -Aufruf zu verwenden (ein Beispiel kann bei aosmiths vorgeschlagenem Duplikat gefunden werden). – Gregor
Beachten Sie, dass in 'aes' die' color = 'als Datenwert und nicht als explizite Farbe interpretiert wird. Du könntest genauso gut 'color =" dodgerblue "' durch 'color = 'first' oder' color = 'blah' ersetzen. – Gregor