r - 如何在方面直方图中向 geom_vline 添加图例?

标签 r ggplot2 histogram facet vline

我使用分面 View 绘制了 3 个直方图,并为均值和中值添加了 vlines。

我想添加一个图例来指示哪个 vline 指的是哪个统计数据。

ggplot(x, aes(x=earnw)) + geom_histogram(binwidth=100, colour="black", fill="white")  +
facet_grid(tuyear ~ .)  +
 geom_vline(data=a, aes(xintercept=earnw.mean), linetype="dashed", size=1,   color="mean") +
 geom_vline(data=b, aes(xintercept=earnw.med), linetype="dashed", size=1, color="median") +
 scale_color_manual(name = "statistics", values = c("mean" <- "red", "median" <- "blue")) +
 labs(title="Histogram for Weekly Earnings of Respondents") + 
 labs(x="Weekly Earnings of Respondents", y="Count") +
 scale_x_continuous(breaks=seq(0,3000,200),lim=c(0,3000)) 

以下代码返回错误:

Error in grDevices::col2rgb(colour, TRUE) : invalid colour name 'mean'

最佳答案

有几种方法可以做到这一点。我会总结数据集,然后将此总结提供给 geom_vline 。这里使用虹膜数据集

iris.summary <- iris %>% 
  group_by(Species) %>% 
  summarise(mean.SL = mean(Sepal.Length), med.SL = median(Sepal.Length)) %>% 
  gather(key = stat, value = value, -Species)

ggplot(iris, aes(x = Sepal.Length)) + 
  geom_histogram() + 
  facet_wrap(~ Species) +
  geom_vline(data = iris.summary, aes(xintercept = value, colour = stat), linetype = "dashed")

关于r - 如何在方面直方图中向 geom_vline 添加图例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43569732/

相关文章:

r - 如何在 R 中绘制尖峰时间的直方图上的指数分布?

python - 是否可以在 python 中使用 opencv 直方图检测文本颜色和位置?

r - 抑制点阵图中的轴

r - 将 RStudio Default R Notebook 更改为空白

r - 条件 RasterStack 图的顶部和侧面的 strip

r - 按日期绘制离散数据计数

R 传单 map : Include multiple rows of data in label popup

R,如何在使用箭头 :open_dataset internally 的函数中将变量名称引用为字符串

r - 按组划分的折线图

c++ - OpenCV 加载/保存直方图数据