2013-08-20 4 views
60

Wie kann ich den Buchstaben 'a' aus der Legende entfernen, die durch diesen Code erzeugt wird? Wenn ich die geom_text entferne, dann wird der Buchstabe 'a' nicht in der Legende angezeigt. Ich möchte aber geom_text behalten.Entfernen Sie 'a' aus der Legende, wenn Sie Ästhetik und geom_text verwenden

ggplot(data = iris, aes(x = Sepal.Length, y=Sepal.Width, shape = Species, colour = Species)) + 
    geom_point() + 
    geom_text(aes(label = Species)) 

Antwort

74

Set show.legend = FALSE in geom_text:

ggplot(data = iris, 
     aes(x = Sepal.Length, y = Sepal.Width, colour = Species, shape = Species, label = Species)) + 
    geom_point() + 
    geom_text(show.legend = FALSE) 

Das Argument show_guide geänderten Namen zu show.legend in ggplot2 2.0.0 (see release news).


Pre- ggplot2 2.0.0:

Mit show_guide = FALSE wie so ...

ggplot(data=iris, aes(x=Sepal.Length, y=Sepal.Width , colour = Species , shape = Species, label = Species) , size=20) + 
geom_point()+ 
geom_text(show_guide = F) 

enter image description here

9

hatte ich eine similar problem. Simons Lösung funktionierte für mich, aber eine leichte Wendung war erforderlich. Ich habe nicht bemerkt, dass ich "show_guide = F" zu den Argumenten von geom_text hinzufügen muss, anstatt die vorhandenen Argumente zu ersetzen - was die Lösung von Simon zeigt. Für ein ggplot2 noob wie mich war das nicht so offensichtlich. Ein gutes Beispiel wäre die OP Code und nur hinzugefügt, um das fehlende Argument wie folgt verwendet:

.. 
geom_text(aes(label=Species), show_guide = F) + 
.. 
6

wie Nick sagte

der folgende Code immer noch den Fehler erzeugen würde:

geom_text(aes(x=1,y=2,label="",show_guide=F)) 

enter image description here

während:

geom_text(aes(x=1,y=2,label=""),show_guide=F) 

außerhalb des aes Argument eliminiert die eine über die Legende

enter image description here