在ggplot中自动分配颜色

时间:2013-06-13 12:02:11

标签: r ggplot2

我正在尝试绘制多条线并使用ggplot自动为绘制的线条指定颜色。我有以下示例代码:

library(ggplot2)

A <- data.frame(x=0:10,y=0:10)
B <- data.frame(x=(seq(from=0, to=10, by=1)), y=(seq(from=0, to=5, by=0.5)))
C <- data.frame(x=(seq(from=0, to=5, by=0.5)), y=(seq(from=0, to=10, by=1)))

ggplot()+
  geom_line(data=A, aes(x=x, y=y))+
  geom_line(data=B, aes(x=x, y=y))+
  geom_line(data=C, aes(x=x, y=y))+
  coord_equal()

我知道我可以手动设置:

geom_line(data=A, aes(x=x, y=y, col="red"))+

等但是我有办法自动分配颜色吗?

1 个答案:

答案 0 :(得分:2)

您应该将所有数据框放在一个中,然后添加一些具有每行标识符的列。

new.df<-rbind(A,B,C)
new.df$ID<-rep(c("A","B","C"),c(nrow(A),nrow(B),nrow(C)))

然后使用此新列设置颜色。

ggplot(new.df,aes(x,y,color=ID))+geom_line()

enter image description here