如何在ggplot2中为不同的图层使用不同的调色板?

是否可以在同一图上绘制两组数据,但每组使用不同的调色板?

testdf <- data.frame( x = rnorm(100), 
                  y1 = rnorm(100, mean = 0, sd = 1), 
                  y2 = rnorm(100, mean = 10, sd = 1),
                  yc = rnorm(100, mean = 0, sd = 3))
ggplot(testdf, aes(x, y1, colour = yc)) + geom_point() +
  geom_point(aes(y = y2))

我想看到的是一组数据,比如y1,蓝色(由yc设置的颜色),另一组用红色(再次由yc设置颜色).

然后,图例应显示2个色标,一个为蓝色,另一个为红色.

谢谢你的建议.

如果你把“蓝调”和“红色”翻译成不同的透明度,那么它并不反对ggplot的哲学.所以,使用Thierry’s Moltenversion of the data set

ggplot(Molten, aes(x, value, colour = variable, alpha = yc)) + geom_point()

应该做的伎俩.

https://stackoverflow.com/questions/9427950/how-can-i-use-different-color-palettes-for-different-layers-in-ggplot2

转载注明原文:如何在ggplot2中为不同的图层使用不同的调色板?