是否可以在同一个图上绘制两组数据,但每组使用不同的调色板?
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
设置颜色),另一组用红色设置(再次由{{1}设置颜色})。
然后,图例应显示2个色标,一个为蓝色,另一个为红色。
感谢您的建议。
答案 0 :(得分:4)
使用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()
答案 1 :(得分:3)
如果你将“蓝调”和“红色”翻译成不同的透明度,那么它不符合ggplot的理念。所以,使用Thierry's Molten
version of the data set:
ggplot(Molten, aes(x, value, colour = variable, alpha = yc)) + geom_point()
应该做的伎俩。