J'essaie de garder la légende d'un calque (lisse) et de supprimer la légende de l'autre (point). J'ai essayé de fermer les légendes avec guides(colour = FALSE)
et geom_point(aes(color = vs), show.legend = FALSE)
.
Edit : Comme cette question et ses réponses sont populaires, un exemple reproductible semble dans l'ordre:
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()
Réponses:
de r cookbook , où bp est votre ggplot:
Supprimer la légende d'une esthétique particulière (remplissage):
Cela peut également être fait lors de la spécification de l'échelle:
Cela supprime toutes les légendes:
la source
theme_bw()
peut interférer avec toutes les définitions effectuées à l'aidetheme()
. Lors de l'utilisationtheme_bw()
, assurez-vous de l'ajouter à l'intrigue avant de modifier toute autre option de thème.bp + theme(legend.position="none") + theme_classic()
, les légendes reviennent. Alors, comment l'enlever?bp + theme_classic() + theme(legend.position="none")
Il pourrait y avoir une autre solution à cela:
Votre code était:
Vous pouvez spécifier le
show.legend
paramètre après l'aes
appel:alors la légende correspondante devrait disparaître
la source
scale_label
commande (et cela n'a pas de sens), etguide(label = FALSE)
n'a pas fonctionné non plus. Merci!Comme la question et la réponse de user3490026 sont un succès de recherche, j'ai fait un exemple reproductible et une brève illustration des suggestions faites jusqu'à présent, ainsi qu'une solution qui répond explicitement à la question du PO.
L'une des choses qui
ggplot2
fait et qui peut être déroutante est qu'elle mélange automatiquement certaines légendes lorsqu'elles sont associées à la même variable. Par exemple,factor(gear)
apparaît deux fois, une fois pourlinetype
et une fois pourfill
, ce qui donne une légende combinée. En revanche,gear
a sa propre entrée de légende car elle n'est pas traitée de la même manière quefactor(gear)
. Les solutions proposées jusqu'à présent fonctionnent généralement bien. Mais parfois, vous devrez peut-être remplacer les guides. Voir mon dernier exemple en bas.Supprimer toutes les légendes: @ user3490026
Supprimer toutes les légendes: @duhaime
Désactiver les légendes: @Tjebo
Supprimer le remplissage pour que le type de ligne devienne visible
Comme ci-dessus via la fonction scale_fill_:
Et maintenant une réponse possible à la demande du PO
Activer certains sur certains post-hoc ad hoc
la source
warnings()
après avoir exécuté votre code et vous verrez la ou les raisons pour lesquelles le ruban bleu ne s'affiche pas.se
quand elle n'est pas calculée. Ça vaut probablement un problème chez github, mais je n'ai pas l'énergie pour le moment ...Si votre graphique utilise les deux
fill
et l'color
esthétique, vous pouvez supprimer la légende avec:la source