2012-05-25 3 views
3

ggplot2를 사용하여 한 줄에 다른 색상으로 여러 줄을 그린 다음 별도의 수평 줄을 추가하고 싶습니다. 내 코드는 아래와 같습니다. 내가 마지막 줄인 p + geom_hline(yintercept=400)을 달릴 때까지 잘 작동합니다. 모든 라인이 검은 색이되고 오른쪽의 전설이 사라집니다.ggplot에 수평선을 추가하십시오.

누구든지이 문제를 해결하는 방법을 알고 있습니까?

library(ggplot2) 
mry <- do.call(rbind, by(movies, round(movies$rating), function(df) { 
     nums <- tapply(df$length, df$year, length) 
     data.frame(rating=round(df$rating[1]), year = as.numeric(names(nums)), 
     number=as.vector(nums)) 
     })) 
p<-qplot(year, number, data=mry, group=rating, geom="line",xlab = 'year', 
    ylab = 'number') 

p + geom_line() 

p + geom_line(aes(colour = rating)) 

p + geom_hline(yintercept=400) 

답변

6

중간 단계는 저장하지 않습니다. 각 플롯은 p에 한 가지만 추가합니다. 위 단순히 코드 p + geom_hline(yintercept=400)의 마지막 라인을 이동할 수로 최대

p <- p + geom_line(aes(colour = rating)) 
2

질문에 대한 구체적인 해결책 : 당신은 당신이 방금 추가 한 조각을 유지하려면, 당신은 뭔가를해야 할 것 마지막 줄의 두 번째 부분.

그러면 코드의 마지막 줄이 p + geom_line(aes(colour = rating)) + geom_hline(yintercept=400)처럼 보일 것입니다. 마지막 세 줄을 p + geom_line(aes(colour = rating)) + geom_hline(yintercept=400)에 결합 할 수도 있습니다.

기본적으로 조란이 제안한 것을 다시 말하지만, 좀 더 구체적으로하려고합니다.

관련 문제