I want to use ggplot2 to draw multiple line with different colors in one plot and then add a separate horizontal line. My code is as below. It works well until I run the final line p + geom_hline(yintercept=400)
. All the lines become black and legend on the right side disappear.
Does anyone know how to solve this problem?
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)
You're not saving the intermediate steps. Each plot is adding just that one thing to p
. If you want to keep the piece you just added, you'd need to do something like:
p <- p + geom_line(aes(colour = rating))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With