gpt4 book ai didi

r - 如何在条形图的每个条上叠加线条

转载 作者:行者123 更新时间:2023-12-02 04:46:38 25 4
gpt4 key购买 nike

假设我有一个像这样的条形图

ggplot(mtcars, aes(factor(cyl)))+geom_bar()

enter image description here

现在我想在 count = 5,4,6 处分别为 cyl = 4,6,8 叠加一条水平线。每条线都应该跨越它所覆盖的条的宽度。我该如何实现?

最佳答案

首先,将您的计数数据放入与 mtcars 中具有相同列名 cyl 的新数据框中。

df2<-data.frame(cyl=c(4,6,8),counts=c(5,4,6))

添加这些线的一种方法是使用 geom_crossbar() 并设置 yyminymax到相同的 counts 值。

ggplot(mtcars, aes(factor(cyl)))+geom_bar()+
geom_crossbar(data=df2,aes(x=factor(cyl),
y=counts,ymin=counts,ymax=counts),color="green")

同样可以使用 geom_errorbar() 实现。

ggplot(mtcars, aes(factor(cyl)))+geom_bar()+
geom_errorbar(data=df2,aes(x=factor(cyl),
ymin=counts,ymax=counts),color="green")

enter image description here

关于r - 如何在条形图的每个条上叠加线条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19668375/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com