我試圖讓一個情節(使用ggplot),將geom_point
和geom_line
,不同的變量在不同的顏色繪製的圖(根據scale_colour_manual(value = color)
其中color
是各種顏色的自定義數組)除到兩條水平黑線(geom_hline
)。自定義圖例文本和顏色GGPLOT2
當我嘗試獲取定製的水平線的圖例文本時,出現了麻煩。看來,我只能有兩種之一:
- 水平線爲黑色,但此行圖例文本的顏色是不正確
- 此行圖例文本是正確的,但顏色水平線由上述
scale_colour_manual
顏色確定。
plot <- ggplot(data, aes(x = factor(Month), y = avgLoss, colour = type, order = -as.numeric(type)))
+ geom_line() + geom_point()
meanplus2sd <- mean(data$avgLoss) + 2*sd(data$avgLoss)
plot <- plot + geom_hline(aes(yintercept = meanplus2sd), colour = "black")
產生黑線,說在圖例中
plot <- plot + geom_hline(aes(yintercept = meanplus2sd, colour = "Mean + 2 Stdev."))
產生一條線,是在我的定義scale_colour_manual
數組的下一個「黑」,但傳說文本"Mean + 2 Stdev."
除了獲取水平線以外,還可以獲取自定義顏色和圖例文字的任何幫助é標準geom_point + geom_line
密謀會很好。謝謝。
重複的例子(即一些代碼),將大大提高的機會,有人能回答這個問題。 – joran 2011-05-18 20:22:58
按照這裏的指導:http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example給一個可重複的例子。這個問題應該不難,但答案將取決於您已經編寫的代碼。 – Chase 2011-05-18 20:25:14
plot < - ggplot(data,aes(x = factor(Month),y = avgLoss,color = type,order = -as.numeric(type)))+ geom_line()+ geom_point() meanplus2sd < - mean (數據$ avgLoss)+ 2 * sd(數據$ avgLoss) plot < - plot + geom_hline(aes(yintercept = meanplus2sd),color =「black」)...在圖例中產生黑色的黑線 plot < - plot + geom_hline(aes(yintercept = meanplus2sd,color =「Mean + 2 Stdev。」))...產生一條線,它是我定義的scale_colour_manual數組中的下一個顏色,但圖例文本是「Mean + 2 Stdev。「 – Marver 2011-05-18 20:30:15