I want to remove the color line from a fill legend for a ggplot. I usually use guide_legend(override.aes = ...)
to modify legend aesthetics - works great for points, lines, alpha, etc., but it's not working for my color
aesthetic. What am I doing wrong?
# generate data
set.seed(47)
data = data.frame(year = rep(2000:2004, 3),
value = runif(15),
group = rep(c("A", "B", "C"), each = 5))
# create the plot
p = ggplot(data, aes(x = year, y = value, fill = group)) +
geom_area(position = position_fill(), color = "white") +
scale_fill_grey()
# this should modify the fill legend to remove the colored line
# but the line is still there
p + guides(fill = guide_legend(override.aes = list(color = NA)))
To change the color legend element border using ggplot2, we can use theme function where can put color in legend. key argument to desired color with element_rect.
Now if we want to change only Legend shape then we have to add guides() and guide_legend() functions to the geom_point() function. Inside guides() function, we take parameter named 'color' because we use color parameter for legend in ggplot() function. 'color' has call to guide_legend() guide function as value.
Example 1: Remove All Legends in ggplot2 We simply had to specify legend. position = “none” within the theme options to get rid of both legends.
This was one of the cases where colour
needed to be spelt with u
. Adding the u
made override.aes
work just fine. ggplot2
releases since 2016 have fixed this bug, and you can use either spelling.
p + guides(fill = guide_legend(override.aes = list(colour = NA)))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With