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

R 如何为ggplot2中的不同图层使用不同的调色板?,r,colors,ggplot2,palette,R,Colors,Ggplot2,Palette,是否可以在同一绘图上绘制两组数据,但对每组使用不同的调色板 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, ae

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

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))

testdf这在ggplot2中是不可能的。我认为这违背了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))
Molten <- melt(testdf, id.vars = c("x", "yc"))
ggplot(Molten, aes(x, value, colour = yc, shape = variable)) + geom_point()
testdf如果您将“蓝色”和“红色”转换为不同的透明度,那么这并不违背ggplot的理念。因此,使用:


应该可以了。

谢谢蒂埃里,我喜欢这个形状的主意!
ggplot(Molten, aes(x, value, colour = variable, alpha = yc)) + geom_point()