我正在绘制ggplot2中多个数据帧的数据,如下所示:
# subset of iris data
vdf = iris[which(iris$Species == "virginica"),]
# plot from iris and from vdf
ggplot(iris) +
geom_line(aes(x=Sepal.Width, y=Sepal.Length, colour=Species)) +
geom_line(aes(x=Sepal.Width, y=Sepal.Length), colour="gray", size=2,
data=vdf)
colour
的图例仅包含来自iris
的条目,而不包括来自vdf
的条目。如何将ggplot2 agg设为data=vdf
的图例,在这种情况下,iris
的图例下方的灰色线会是灰线?感谢。
答案 0 :(得分:7)
您应将颜色设置为aes
以在图例中显示。
# subset of iris data
vdf = iris[which(iris$Species == "virginica"),]
# plot from iris and from vdf
library(ggplot2)
ggplot(iris) + geom_line(aes(x=Sepal.Width, y=Sepal.Length, colour=Species)) +
geom_line(aes(x=Sepal.Width, y=Sepal.Length, colour="gray"),
size=2, data=vdf)
编辑我认为你不能为同一个人提供多个传说。这里有一个解决方法:
library(ggplot2)
ggplot(iris) +
geom_line(aes(x=Sepal.Width, y=Sepal.Length, colour=Species)) +
geom_line(aes(x=Sepal.Width, y=Sepal.Length,size=2), colour="gray", data=vdf) +
guides(size = guide_legend(title='vdf color'))