如何使用ggplot在条形图上添加水平线? [英] How to add a horizontal line above a bar chart using ggplot?

查看:765
本文介绍了如何使用ggplot在条形图上添加水平线?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在条形图上添加一条水平线。目前,我可以使用 geom_points 添加点:

  data< -  ddply(diamonds,。(cut,color),summarize,mean_carat = mean(carat))
ggplot(data,aes(color,mean_carat,fill = cut))+
geom_bar(stat =身份,position =dodge)+
geom_point(data = data,aes(color,mean_carat,fill = cut))

下图中的红色箭头显示了我想添加的内容:



谢谢!

解决方案

试着添加一些类似于

的内容:

$ p $ data < - ddply(diamonds,。(cut,color ),总结,mean_carat = mean(carat))
data2 < - ddply(data,〜color,summarize,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,a es(color,mean_carat))+
geom_errorbar(data = C,aes(y = max_carat,ymax = max_carat,ymin = max_carat))


I would like to add a horizontal line above a bar plot. Currently I am able to add dots using geom_points:

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))

The red arrow in the image below shows what I would like to add:

Thanks!

解决方案

Try to add something like

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))

这篇关于如何使用ggplot在条形图上添加水平线?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆