Zwei geom_points Legende hinzufügen
Ich Plane eine 2 geom_point Grafik mit dem folgenden code:
source("http://www.openintro.org/stat/data/arbuthnot.R")
library(ggplot2)
ggplot() +
geom_point(aes(x = year,y = boys),data=arbuthnot,colour = '#3399ff') +
geom_point(aes(x = year,y = girls),data=arbuthnot,shape = 17,colour = '#ff00ff') +
xlab(label = 'Year') +
ylab(label = 'Rate')
Möchte ich einfach nur wissen, wie Sie eine Legende auf der rechten Seite. Mit der gleichen Form und Farbe. Dreieck rosa soll die Legende von "Frau" und dem blauen Kreis, die Legende "Männer". Scheint ganz einfach, aber nach vielen trial-ich konnte es nicht tun. (Ich bin ein Anfänger mit ggplot).
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie benennen Sie die Spalten der originalen Daten-Frames und dann Schmelzen Sie in der lang-format mit
reshape2::melt
, es ist viel einfacher zu handhaben in ggplot2. Durch die Angabe dercolor
undshape
ästhetik in der ggplot-Befehl und unter Angabe der Skalen für die Farben und Formen manuell die Legende wird angezeigt.Hier ist ein Weg, dies zu tun, ohne Verwendung von reshape::Schmelzen. Umformen::Schmelzen Sie funktioniert, aber Sie können in eine bind-wenn Sie möchten, fügen Sie andere Dinge, um die Grafik, wie Liniensegmente. Der folgende code verwendet die ursprüngliche Organisation der Daten. Der Schlüssel zum ändern der Legende ist, um sicherzustellen, dass die Argumente zu scale_color_manual(...) und scale_shape_manual(...) identisch sind, ansonsten erhalten Sie zwei Legenden.
output-Ergebnisse