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 pour linetype
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 que factor(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.
# reproducible example:
library(ggplot2)
p <- 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()
Supprimer toutes les légendes: @ user3490026
p + theme(legend.position = "none")
Supprimer toutes les légendes: @duhaime
p + guides(fill = FALSE, color = FALSE, linetype = FALSE, shape = FALSE)
Désactiver les légendes: @Tjebo
ggplot(data = mtcars, aes(x = mpg, y = disp, group = gear)) +
geom_point(aes(color = vs), show.legend = FALSE) +
geom_point(aes(shape = factor(cyl)), show.legend = FALSE) +
geom_line(aes(linetype = factor(gear)), show.legend = FALSE) +
geom_smooth(aes(fill = factor(gear), color = gear), show.legend = FALSE) +
theme_bw()
Supprimer le remplissage pour que le type de ligne devienne visible
p + guides(fill = FALSE)
Comme ci-dessus via la fonction scale_fill_:
p + scale_fill_discrete(guide = FALSE)
Et maintenant une réponse possible à la demande du PO
"pour conserver la légende d'un calque (lisse) et supprimer la légende de l'autre (point)"
Activer certains sur certains post-hoc ad hoc
p + guides(fill = guide_legend(override.aes = list(color = NA)),
color = FALSE,
shape = FALSE)