8

我是新手ggplot2。我想创建一个线图,上面有点,这些点用与线不同的颜色填充(见下图)。 在此处输入图像描述 假设我正在使用的数据集是以下数据集:

set.seed(100)
data<-data.frame(dv=c(rnorm(30), rnorm(30, mean=1), rnorm(30, mean=2)), 
                 iv=rep(1:30, 3), 
                 group=rep(letters[1:3], each=30))

我尝试了以下代码:

p<-ggplot(data, aes(x=iv, y=dv, group=group,  pch=group)) + geom_line() + geom_point()

p + scale_color_manual(values=rep("black",3))+ scale_shape(c(19,20,21)) + 
scale_fill_manual(values=c("blue", "red","gray"))

p +  scale_shape(c(19,20,21)) + scale_fill_manual(values=c("blue", "red","gray"))

但我没有得到我想要的。我希望有人能指出我正确的方向。谢谢!

4

1 回答 1

18

scale_fill_manual(),scale_shape_manual()并且scale_colour_manual()只有当你有设置时才能使用fill=shape=或者colour=aes().

要仅为您应该在调用colour=group内部添加的点更改颜色。geom_point()

  ggplot(data, aes(x=iv, y=dv, group=group,shape=group)) + 
    geom_line() + geom_point(aes(colour=group)) +
    scale_shape_manual(values=c(19,20,21))+
    scale_colour_manual(values=c("blue", "red","gray"))

在此处输入图像描述

于 2013-03-12T13:54:46.507 回答