我有两个数据集,一个在另一个上。我想为它们使用不同的手动色带。但是,scale_color_manual同时更改两个数据集的颜色。
set.seed(123)
data1 <- data.frame(x=rnorm(25,2,.5),y=rnorm(25,2,1),z=factor(sample(c(1:3),25,replace=TRUE)))
data2 <- data.frame(x=rnorm(25,4,1),y=rnorm(25,2,.5),z=factor(sample(c(1:3),25,replace=TRUE)))
col1 <- c("lightblue","blue","darkblue") #corresponding to levels of 1...3 in data1
col2 <- c("lightgreen","green","darkgreen") #corresponding to levels of 1...3 in data2
ggplot(mapping=aes(x=x,y=y,color=z,size=5)) +
geom_point(data=data1) +
scale_color_manual(values=col1)+
geom_point(data=data2) +
scale_color_manual(values=col2)
实际结果区域全部为绿色。但是,左侧更多的点应该是蓝色的。