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