我想繪製一些數據,然後爲平均值和平均值+/-標準偏差添加回歸線和水平線,每條線的顏色均不相同。我設法做到了這一點,但我無法得到正確的傳說。它顯示了前兩個標籤,但沒有提到三條水平線。我怎樣才能讓傳奇也爲這三條線的每一條都有一個標籤?ggplot缺少圖例中的標籤
提到的另一篇文章show_guide = TRUE,但這並不適合我。我也一直在尋找scale_colour_manual的文檔,但這並沒有幫助我。
我的代碼是這樣的:
p <- qplot(mpg, wt, data = mtcars, colour="1")
p <- p + geom_smooth(method='lm',aes(x=mpg,y=wt,colour="2"),formula=y~x)
p <- p + geom_hline(yintercept = mean(mtcars$wt), colour = "3")
p <- p + geom_hline(yintercept = mean(mtcars$wt) + sd(mtcars$wt), colour = "3", linetype="dashed")
p <- p + geom_hline(yintercept = mean(mtcars$wt) - sd(mtcars$wt), colour = "3", linetype="dashed")
p <- p + labs(colour="")
p <- p + scale_colour_manual(values = c("red","blue", "green","green","green"),labels=c("Data","Regression","Mean","Mean + SD","Mean - SD"))
p <- p + guides(colour = guide_legend())
print(p)
任何幫助將非常感激, 乾杯!
我恐怕不是。使用您的代碼,原始數據不會被繪製,圖例只會顯示兩個標籤。除了迴歸線和平均值和平均值±SD線之外,原始數據在圖例中被繪製和標記是絕對必要的。 – ermutarra
@ermutarra看到我的編輯(我認爲這是微不足道的變化,但我猜不是)。我試圖引導你走向更好的ggplot實踐。請注意,您永遠不應該直接引用像'aes()'內'mtcars [,n + 1]'的列。這是一種非常糟糕的做法,如果你堅持這樣做,那麼非標準的評估將會最終扼殺你。此外,無論何時您添加同一個geom的多個副本,這都是一個肯定的跡象,表明您做錯了什麼。 ggplot不是爲了這樣使用而設計的。 (只是要清楚,我沒有投票。) – joran
這更接近我所需要的,謝謝!但我仍然懷疑你是否可以在傳奇中展示五行。感謝您指出我的做法是不好的做法,我只是開始並且需要學習這些東西! – ermutarra