Elimine 'a' de la leyenda cuando use estética y geom_text
¿Cómo puedo eliminar la letra 'a' de la leyenda generada por este código? Si elimino geom_text
, la letra 'a' no se mostrará en la leyenda. Aunque quiero conservarlo geom_text
.
ggplot(data = iris, aes(x = Sepal.Length, y=Sepal.Width,
shape = Species, colour = Species)) +
geom_point() +
geom_text(aes(label = Species))
Establecer show.legend = FALSE
en 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)
El argumento show_guide
cambió de nombre a show.legend
in ggplot2 2.0.0
( ver noticia del lanzamiento ).
Pre- ggplot2 2.0.0
:
Con show_guide = FALSE
asi...
ggplot(data = iris, aes(x = Sepal.Length, y = Sepal.Width , colour = Species,
shape = Species, label = Species ), size = 20) +
geom_point() +
geom_text(show_guide = FALSE)
Podemos usar guide_legend(override.aes = aes(...))
para ocultar la 'a' en la leyenda.
A continuación se muestra un breve ejemplo de cómo podría utilizar Guide_legend()
library(ggrepel)
#> Loading required package: ggplot2
d <- mtcars[c(1:8),]
p <- ggplot(d, aes(wt, mpg)) +
geom_point() +
theme_classic(base_size = 18) +
geom_label_repel(
aes(label = rownames(d), fill = factor(cyl)),
size = 5, color = "white"
)
# Let's see what the default legend looks like.
p
# Now let's override some of the aesthetics:
p + guides(
fill = guide_legend(
title = "Legend Title",
override.aes = aes(label = "")
)
)
Creado el 29 de abril de 2019 por el paquete reprex (v0.2.1)
Tuve un problema similar . La solución de Simon funcionó para mí, pero fue necesario un ligero giro. No me di cuenta de que necesitaba agregar "show_guide = F" a los argumentos de geom_text, en lugar de reemplazar los argumentos existentes, que es lo que muestra la solución de Simon. Para un novato de ggplot2 como yo, esto no era tan obvio. Un ejemplo adecuado habría utilizado el código del OP y simplemente habría agregado el argumento que falta como este:
..
geom_text(aes(label=Species), show_guide = F) +
..
como dijo nick
el siguiente código aún produciría el error:
geom_text(aes(x=1,y=2,label="",show_guide=F))
mientras que:
geom_text(aes(x=1,y=2,label=""),show_guide=F)
fuera del argumento aes elimina la a sobre la leyenda
Tuve un problema similar, con una 'a' apareciendo detrás de puntos de diferentes colores con los que estaba tratando de etiquetar geom_text_repel
. Para eliminar la 'a', de modo que solo mostrara el punto sin la 'a' detrás, tuve que agregarla show.legend=FALSE
como argumento en geom_text_repel
.
¡Espero que tenga sentido para cualquiera que esté trabajando con el mismo problema!