2015-05-11 124 views
5

我想在條形圖上添加一條水平線。目前,我能夠用geom_points加點:如何使用ggplot在條形圖上添加水平線?

data <- ddply(diamonds, .(cut, color), summarise, mean_carat = mean(carat)) 
ggplot(data, aes(color, mean_carat,fill=cut)) + 
geom_bar(stat="identity", position="dodge") + 
geom_point(data=data, aes(color, mean_carat, fill=cut)) 

下圖中的紅色箭頭顯示我想補充的內容:

謝謝!

+1

檢查'geom_segment' http://docs.ggplot2.org/current/geom_segment.html。我不確定它是否適用於barplot。 – Molx

回答

5

嘗試添加像

data <- ddply(diamonds, .(cut, color), summarise, mean_carat = mean(carat)) 
data2 <- ddply(data, ~color, summarise, max_carat = max(mean_carat)) 
C <- merge(data,data2, by = c('color')) 

    ggplot(data, aes(color, mean_carat,fill=cut)) + 
     geom_bar(stat="identity", position="dodge") + 
     geom_point(data=data, aes(color, mean_carat)) + 
     geom_errorbar(data = C, aes(y=max_carat, ymax=max_carat, ymin=max_carat)) 

RPLOT

+1

謝謝MichaelVE! – alfakini