14
votes

suppose I'm plotting a dataframe in ggplot2 like:

ggplot(iris) + geom_point(aes(x=Sepal.Width, y=Sepal.Length, color=Species, size=Sepal.Length))

two related questions:

  1. how can I remove a variable altogether from the legend? For example, still size the points by Sepal.Length but remove Sepal.Length from the legend altogether?

  2. how can I remove just a certain value or set of values from the legend? For example, still color the points by Species as above, but in the legend only show the value for setosa and exclude versicolor, virginica?

thanks.

1
An answer to your first question would be scale_size(guide = "none"). As for the second, I don't know of an easy way to do that off the top of my head. ā€“ joran

1 Answers

23
votes
  1. As commented by joran, use scale_size(guide = "none").

  2. scale_color_discrete(breaks="setosa")