Remove 'a' from legend when using aesthetics and geom_text

We can use guide_legend(override.aes = aes(...)) to hide the 'a' in the legend.

Below is a short example of how you might use 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 = "")
  )
)

Created on 2019-04-29 by the reprex package (v0.2.1)


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)

The argument show_guide changed name to show.legend in ggplot2 2.0.0 (see release news).


Pre-ggplot2 2.0.0:

With show_guide = FALSE like 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  = FALSE)

enter image description here