2011-02-17 2 views
17

ggplot에서 줄을 그릴 때 표시 할 범례를 얻으려면 어떻게해야합니까? 나는 저녁 내내 노력했지만 실패했습니다. 이 같은 AES 내부ggplot2 및 geom_line을 사용한 누락 범례

'data.frame': 2101 obs. of 4 variables: 
$ lambda : num 3.06e-07 3.09e-07 3.12e-07 3.15e-07 3.18e-07 ... 
$ train.err: num 0.415 0.415 0.415 0.415 0.415 ... 
$ test.err : num 0.373 0.373 0.373 0.373 0.373 ... 
$ data.err : num 0.398 0.398 0.398 0.398 0.398 ... 

답변

35

넣어 색상 : 출력은 다음과 같은 구조의 dataframe가

p <- ggplot(output, aes(lambda), legend=TRUE) + 
    geom_line(aes(y=train.err), colour="red", label="r") + 
    geom_line(aes(y=test.err), colour="blue", label="b") + 
    geom_line(aes(y=data.err), colour="green", label="g") 

print(p) 

d2 <- melt(d, id="x") 
ggplot(d2, aes(x, value, colour=variable)) + 
    geom_line() + 
    scale_colour_manual(values=c("red", "blue")) 
:

d<-data.frame(x=1:5, y1=1:5, y2=2:6) 

ggplot(d, aes(x)) + 
    geom_line(aes(y=y1, colour="1")) + 
    geom_line(aes(y=y2, colour="2")) + 
    scale_colour_manual(values=c("red", "blue")) 

하지만이 방법을 추천합니다