问题 从ggplot2中删除某些图例变量和图例值?


假设我在ggplot2中绘制一个数据帧,如:

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

两个相关问题:

  1. 如何从图例中完全删除变量?例如,仍然按点大小 Sepal.Length 但删除 Sepal.Length 从传说中完全?

  2. 如何从图例中删除某个值或一组值?例如,仍按上面的Species为点着色,但在图例中仅显示值 setosa 并排除 versicolor, virginica

谢谢。


9876
2018-03-29 14:09


起源

你的第一个问题的答案是 scale_size(guide = "none")。至于第二个,我不知道一个简单的方法来做到这一点。 - joran


答案:


  1. 如joran评论,请使用 scale_size(guide = "none")

  2. scale_color_discrete(breaks="setosa")


16
2018-03-29 15:09



我不明白为什么这个答案适用于这个问题。你能解释一下用户怎么知道哪个 scale_功能来自 ggplot2 用吗?你有一个在这方面有用的来源吗?你的答案使用 scale_color_discrete 适用于此特定情况以删除图例变量,但在其他情况下则不会。 - Leo
@Leo在第一个短划线后,你可以把任何有数据映射到它的东西(在这个例子中是x,y,颜色,大小)。在第二个破折号之后,您可以连续(对于连续变量)或离散(对于因子变量)。 - Roland