我正在创建一个以平均值作为水平线的条形图,并且希望对高于平均值的条形图进行着色,但仅对条形图的顶部进行着色。这可能吗?
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))
期望的输出:
有什么想法吗?
最佳答案
这可能不是最好的解决方案,但它有效:
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))
关于r - 在 geom_hline 上方突出显示条形图颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57414679/