Ich habe einen einfachen Datenrahmen, mit dem ich ein kombiniertes Linien- und Punktdiagramm erstellen möchte ggplot2
. Angenommen, meine Daten sehen folgendermaßen aus:
df <- data.frame(x=rep(1:10,2), y=c(1:10,11:20),
group=c(rep("a",10),rep("b",10)))
Und ich versuche eine Handlung zu machen:
g <- ggplot(df, aes(x=x, y=y, group=group))
g <- g + geom_line(aes(colour=group))
g <- g + geom_point(aes(colour=group, alpha = .8))
g
Das Ergebnis sieht mit einer Ausnahme gut aus. Es gibt eine zusätzliche Legende, die die alpha
für meine geom_point
Ebene zeigt.
Wie kann ich die Legende beibehalten, die Gruppenfarben anzeigt, aber nicht die, die meine Alpha-Einstellungen anzeigt?
g + scale_alpha(guide = "none")
.group
Ästhetik selbst keine Skalen oder Anleitungen erzeugt. Es ist immer eine Art, etwas anderes zu modifizieren. Sie werden nie eine Legende für die "Gruppen" -Ästhetik bekommen.Fügen Sie einfach den
show.legend = F
Code nach dem Teil hinzu, an dem Sie ihn nicht möchten.quelle
Für alte Versionen von ggplot2 (Versionen vor 0.9.2, veröffentlicht Ende 2012) sollte diese Antwort funktionieren:
Ich habe es mit einem versucht
colour_scale
und es hat nicht funktioniert. Es scheint, dass dascolour_scale_hue
Element wie eine Funktion mit einem Standardparameter funktioniertTRUE
. Ich fügte hinzuscale_colour_hue(legend=FALSE)
und es funktionierte.Ich bin nicht sicher, ob dies für alle Farbskalenelemente in ggplot der Fall ist
quelle
legend
in einemscale_*
Anruf ist veraltet, besser zu tunscale_colour_hue(guide = "none")
.legend=FALSE
Tatsache, dass das veraltet ist, wie im Kommentar von @shujaa hervorgehoben, handelt es sich effektiv um eine doppelte Antwort, dh um dasguide = "none"
zu einerscale_fill/color*
Funktion hinzuzufügen .