添加水平线到ggplot

syd*_*syd 3 graphics r ggplot2

我想使用ggplot2在一个绘图中绘制不同颜色的多行,然后添加一个单独的水平线.我的代码如下.它运行良好,直到我运行最后一行p + geom_hline(yintercept=400).所有线条变黑,右侧的传说消失.

有谁知道如何解决这个问题?

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)
Run Code Online (Sandbox Code Playgroud)

jor*_*ran 6

你没有保存中间步骤.每个情节都只是添加了一件事p.如果你想保留你刚刚添加的作品,你需要做类似的事情:

p <- p + geom_line(aes(colour = rating))
Run Code Online (Sandbox Code Playgroud)