2013-08-20 11 views
60

Jak mogę usunąć literę "a" z legendy wygenerowanej przez ten kod? Jeśli usuniemy geom_text, litera "a" nie pojawi się w legendzie. Chcę jednak zachować geom_text.Usunąć "a" z legendy podczas używania estetyki i geom_text

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

Odpowiedz

74

Ustaw show.legend = FALSE w 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) 

Argument show_guide zmieniła nazwę na show.legend w ggplot2 2.0.0 (see release news).


Pre- ggplot2 2.0.0:

Z show_guide = FALSE jak tak ...

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

miałem similar problem. Rozwiązanie Simona sprawdziło się, ale wymagało to lekkiego skrętu. Nie zdawałem sobie sprawy, że muszę dodać "show_guide = F" do argumentów geom_text, zamiast zastąpić go istniejącymi argumentami - to właśnie pokazuje rozwiązanie Simona. Dla gobplot2 noob jak ja to nie było tak oczywiste. Odpowiedni przykład byłby stosowany kod PO i tylko dodaje brakującego argumentu takiego:

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

Jak powiedział Nick

następujący kod będzie nadal produkować błąd:

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

enter image description here

natomiast:

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

poza AES argumentu eliminuje jeden nad legendą

enter image description here

Powiązane problemy