r - 在 geom_hline 上方突出显示条形图颜色

标签 r ggplot2

我正在创建一个以平均值作为水平线的条形图,并且希望对高于平均值的条形图进行着色,但仅对条形图的顶部进行着色。这可能吗?

test <- iris %>% group_by(Species) %>% summarise(avg = mean(Sepal.Length))

ggplot(test, aes(x = Species, y = avg)) +
  geom_bar(stat = "identity") +
  geom_hline(yintercept = mean(test$avg))

enter image description here

期望的输出:

enter image description here

有什么想法吗?

最佳答案

这可能不是最好的解决方案,但它有效:

test <- iris %>% group_by(Species) %>% summarise(avg = mean(Sepal.Length))
test2 <- iris %>% group_by(Species) %>% 
  summarise(avg = mean(Sepal.Length)) %>% 
  mutate(avg, avg = ifelse(avg > mean(avg), mean(avg), avg))

ggplot(test, aes(x = Species, y = avg)) +
  geom_bar(stat = "identity", data=test, fill="red") +
  geom_bar(stat = "identity", data=test2) +
  geom_hline(yintercept = mean(test$avg))

enter image description here

关于r - 在 geom_hline 上方突出显示条形图颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57414679/

相关文章:

R:如何使用 layout() 部分重叠 map

r - 通过拼凑对齐和缩放 ggplots

r - 条形和类别周围的边框,ggplot

r - 在 R 中使用 ggplot2 带有下标字符的粗体轴

回归分析ggplot2

r - 带有 ggplot2 的多个直方图 - 位置

r - R 中用于 D 最优性的优化函数

r - 如何按组选择非 NA 值,除非只有 NA

r - mutate_at 出现 "Variable context not set"错误,dplyr 版本 >= 0.7

r - 如何在 R 中与另一列进行按列除法?