簡體   English   中英

添加水平線到ggplot

[英]Add horizontal line to ggplot

我想使用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)

你沒有保存中間步驟。 每個情節都只是向p添加一個東西。 如果你想保留你剛剛添加的作品,你需要做類似的事情:

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

上述問題的具體解決方案可能是簡單地移動最后一行代碼p + geom_hline(yintercept=400) ,直到最后一行的一部分。

這將使您的最后一行代碼看起來像這樣, p + geom_line(aes(colour = rating)) + geom_hline(yintercept=400) 您還可以將最后三行合並為p + geom_line(aes(colour = rating)) + geom_hline(yintercept=400)

基本上重述了喬蘭建議的內容,但我試圖讓它更具體。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM