2013-06-13 76 views
0

我想绘制多条线,并使用ggplot自动分配颜色到绘制线。我有以下示例代码:在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"))+ 

等,但有一些方法我可以自动分配的颜色?

回答

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

+0

真棒的感谢! – stu