将固定颜色分配给ggplot2中的子集

时间:2014-08-12 07:46:21

标签: r ggplot2

我有以下两个数据表:

dt1 <- data.table(height=1.7+rnorm(100,0,0.3), year=1:100, specy=rep("B",100))
dt2 <- data.table(height=2+rnorm(100,0,0.5), year=1:100, specy=rep("A",100))

我可以分别绘制这组数据。以下命令将在每个图表上显示相同的颜色:

ggplot()+geom_point(aes(year, height,colour=specy), dt1)
ggplot()+geom_point(aes(year, height,colour=specy), dt2)

如何修复,一种是紫色,另一种是绿色?

此外,当我绘制组合图时:

ggplot()+geom_point(aes(year, height,colour=specy), rbindlist(list(dt2,dt1)))

我想拥有相同的颜色,这些颜色已经出现在每个specy的两个不同的图表上......我目前不知道如何处理它。

谢谢!

1 个答案:

答案 0 :(得分:0)

 + scale_colour_manual(values = c("red","blue", "green"))

这应该有帮助,你也可以添加颜色名称,比如

 + scale_colour_manual(values = c(A="red",B="blue"))

另一种解决方案是:

ggplot()+geom_point(dt1, aes(year, height),colour="red")