如何使用两种不同的颜色渐变?
How to use two different color ramps?
我有两个数据集,我将一个数据集绘制在另一个数据集之上。我想为它们使用不同的手动色带。但是,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)
实绩区全部为绿色。但是,更靠左的点应该是蓝色的。
ggplot 没有内置选项,但您可以准备数据来实现它:
data1$color1 <- col1[data1$z]
data2$color2 <- col2[data2$z]
ggplot() +
geom_point(data=data1, aes(x=x,y=y,color=color1), size=5) +
geom_point(data=data2, aes(x=x,y=y,color=color2), size=5) +
scale_color_identity()
我有两个数据集,我将一个数据集绘制在另一个数据集之上。我想为它们使用不同的手动色带。但是,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)
实绩区全部为绿色。但是,更靠左的点应该是蓝色的。
ggplot 没有内置选项,但您可以准备数据来实现它:
data1$color1 <- col1[data1$z]
data2$color2 <- col2[data2$z]
ggplot() +
geom_point(data=data1, aes(x=x,y=y,color=color1), size=5) +
geom_point(data=data2, aes(x=x,y=y,color=color2), size=5) +
scale_color_identity()