2013-06-13 57 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