J'essaye de supprimer le titre d'une légende dans ggplot2
:
df <- data.frame(
g = rep(letters[1:2], 5),
x = rnorm(10),
y = rnorm(10)
)
library(ggplot2)
ggplot(df, aes(x, y, colour=g)) +
geom_line(stat="identity") +
theme(legend.position="bottom")
J'ai vu cette question et aucune des solutions ne semble fonctionner pour moi. La plupart donnent une erreur sur la façon dont opts
est obsolète et à utiliser à la theme
place. J'ai aussi essayé différentes versions theme(legend.title=NULL)
, theme(legend.title="")
, theme(legend.title=element_blank)
, etc. messages d'erreur typiques sont:
'opts' is deprecated. Use 'theme' instead. (Deprecated; last used in version 0.9.1)
'theme_blank' is deprecated. Use 'element_blank' instead. (Deprecated; last used in version 0.9.1)
J'utilise ggplot2
pour la première fois depuis la sortie de la version 0.9.3 et j'ai du mal à naviguer dans certaines des modifications ...
labs()
pour cela: Ajoutez la lignelabs(colour = "")
à votre code qui a produit le graphique ci-dessus.Réponses:
Vous y étiez presque: il suffit d'ajouter
theme(legend.title=element_blank())
Cette page sur Cookbook for R donne de nombreux détails sur la personnalisation des légendes.
la source
guide = guide_legend()
commande fonctionne. Pour supprimer le titre de la légende de remplissage, mais pour conserver le titre de la légende des couleurs, par exemplescale_fill_brewer(palette = "Dark2", guide = guide_legend(title = NULL)) + scale_color_manual(values = c("blue", "white", "red"))
Cela fonctionne aussi et montre également comment changer le titre de la légende:
la source
theme_bw()
mais pas les meilleurs dans les cas où la légende a une boîte autour d'elle et est positionnée quelque part sur la zone de tracé (mon approche habituelle).scale_color_manual(name=element_blank())+
pour la légende inférieure l'a résolu pour moielement_blank()
semble être l'approche recommandée. Le réglagename = NULL
est une autre façon.Une autre option utilisant
labs
et définissant la couleur surNULL
.la source
Pour
Error: 'opts' is deprecated
. Utiliseztheme()
plutôt. (Défunt; utilisé pour la dernière fois dans la version 0.9.1) 'J'ai remplacéopts(title = "Boxplot - Candidate's Tweet Scores")
parlabs(title = "Boxplot - Candidate's Tweet Scores")
. Ça a marché!la source
Étant donné que vous pouvez avoir plus d'une légende dans un tracé, un moyen de supprimer sélectivement un seul des titres sans laisser d'espace vide consiste à définir l'
name
argument de lascale_
fonction surNULL
, c.- à -d.scale_fill_discrete(name = NULL)
(bravo à @pascal pour un commentaire sur un autre fil )
la source