web-dev-qa-db-fra.com

supprimer le titre de la légende dans ggplot

J'essaie 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")

enter image description here

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 utilise plutôt theme. J'ai également essayé différentes versions de theme(legend.title=NULL), theme(legend.title=""), theme(legend.title=element_blank), etc. Les messages d'erreur types sont les suivants:

'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 publication de la version 0.9.3 et je trouve difficile de naviguer dans certaines modifications ...

100
smillig

Vous y étiez presque: ajoutez simplement theme(legend.title=element_blank())

ggplot(df, aes(x, y, colour=g)) +
  geom_line(stat="identity") + 
  theme(legend.position="bottom") +
  theme(legend.title=element_blank())

Cette page sur Cookbook for R donne beaucoup de détails sur la façon de personnaliser les légendes.

172
juba

Cela fonctionne aussi et montre également comment changer le titre de la légende:

ggplot(df, aes(x, y, colour=g)) +
  geom_line(stat="identity") + 
  theme(legend.position="bottom") +
  scale_color_discrete(name="")
9
Roland

Pour Error: 'opts' is deprecated. Utilisez theme() à la place. (Défunt; utilisé la dernière fois dans la version 0.9.1) 'J'ai remplacé opts(title = "Boxplot - Candidate's Tweet Scores") par labs(title = "Boxplot - Candidate's Tweet Scores"). Ça a marché!

0
Shradha Shiwani