Ich versuche, Hintergrunddaten in einem ggplot mit Legende automatisch in grau anzuzeigen. Mein Ziel ist es, entweder die grauen Datenpunkte in die Legende aufzunehmen oder eine zweite Legende mit einem manuellen Titel zu erstellen. Jedoch scheitere ich bei jedem der beiden. Meine Daten sind im Langformat. Ich bin nicht in der Lage, um die Hintergrunddaten in der grauen Farbe und ggplot Farben zugleichCreate ggplot2 legende für mehrere Datensätze
require(ggplot2)
xx<-data.frame(observation="all cats",x=1:2,y=1:2)
yy<-data.frame(observation=c("red cats","blue cats"),x=3:4,y=3:4)
g<-ggplot() +
geom_point(aes(x,y, colour=factor(observation)), colour="grey60", size=5, data=xx) +
geom_point(aes(x,y, colour=factor(observation)), size=5, data=yy) +
scale_color_discrete(name = "ltitle")
g
Ich versuchte, die data.frames mit rbind.data.frame
, zu fusionieren, die eine schöne Legende produziert, aber dann halten .
Ich erkannte auch, dass dies das Problem löst:
g<-ggplot(aes(x,y, colour=factor(observation)), colour="grey60", data=xx) +
geom_point(size=5) +
geom_point(aes(x,y, colour=factor(observation)), size=5, data=yy) +
scale_color_discrete(name = "ltitle")
g
aber ich kann das nicht tun, weil ich eine Funktion bin mit der vor einer komplizierten leeren Grundstück erstellt, in dem ich die geom_points
fügen Sie dann .