Ich versuche, die Legende einer Ebene (glatt) zu halten und die Legende der anderen (Punkt) zu entfernen. Ich habe versucht, die Legenden mit guides(colour = FALSE)
und abzuschalten geom_point(aes(color = vs), show.legend = FALSE)
.
Bearbeiten : Da diese Frage und ihre Antworten beliebt sind, scheint ein reproduzierbares Beispiel in der Reihenfolge:
library(ggplot2)
ggplot(data = mtcars, aes(x = mpg, y = disp, group = gear)) +
geom_point(aes(color = vs)) +
geom_point(aes(shape = factor(cyl))) +
geom_line(aes(linetype = factor(gear))) +
geom_smooth(aes(fill = factor(gear), color = gear)) +
theme_bw()
Antworten:
aus r kochbuch, wo bp dein ggplot ist:
Legende für eine bestimmte Ästhetik entfernen (füllen):
Dies kann auch bei der Angabe der Skala erfolgen:
Dies entfernt alle Legenden:
quelle
theme_bw()
alle Definitionen, die mit verwendet werden, beeinträchtigt werden könnentheme()
.theme_bw()
Stellen Sie bei der Verwendung sicher, dass Sie es dem Plot hinzufügen, bevor Sie andere Designoptionen ändern.bp + theme(legend.position="none") + theme_classic()
, kommen die Legenden zurück. Wie kann man es entfernen?bp + theme_classic() + theme(legend.position="none")
Möglicherweise gibt es eine andere Lösung:
Ihr Code war:
Sie können den
show.legend
Parameter nach demaes
Aufruf angeben :dann sollte die entsprechende Legende verschwinden
quelle
scale_label
Befehl (und das machtguide(label = FALSE)
auch keinen Sinn) und es hat auch nicht funktioniert. Vielen Dank!Da die Frage und die Antwort von user3490026 ein Top-Sucherfolg sind, habe ich ein reproduzierbares Beispiel und eine kurze Illustration der bisher gemachten Vorschläge zusammen mit einer Lösung erstellt, die die Frage des OP explizit behandelt.
Eines der Dinge, die
ggplot2
tun und verwirrend sein können, ist, dass bestimmte Legenden automatisch gemischt werden, wenn sie derselben Variablen zugeordnet sind. Wird beispielsweisefactor(gear)
zweimal angezeigt, einmal fürlinetype
und einmal fürfill
, was zu einer kombinierten Legende führt. Hat im Gegensatzgear
dazu einen eigenen Legendeneintrag, da er nicht wie derselbe behandelt wirdfactor(gear)
. Die bisher angebotenen Lösungen funktionieren normalerweise gut. Gelegentlich müssen Sie jedoch möglicherweise die Hilfslinien überschreiben. Siehe mein letztes Beispiel unten.Entfernen Sie alle Legenden: @ user3490026
Entferne alle Legenden: @duhaime
Legenden ausschalten: @Tjebo
Entfernen Sie die Füllung, damit der Linientyp sichtbar wird
Gleich wie oben über die Funktion scale_fill_:
Und jetzt eine mögliche Antwort auf die Anfrage des OP
Schalten Sie einige Ad-hoc-Post-Hoc aus
quelle
warnings()
Sie ein, nachdem Sie Ihren Code ausgeführt haben, und Sie werden die Gründe dafür sehen, dass das blaue Band nicht angezeigt wird.se
wenn sie nicht berechnet wird. Wahrscheinlich ein Problem bei Github wert, aber ich habe momentan nicht die Energie ...Wenn Ihr Diagramm sowohl Ästhetik
fill
als auchcolor
Ästhetik verwendet, können Sie die Legende entfernen mit:quelle