gpt4 book ai didi

r - ggplot2 位置 ='dodge' 生成的条太宽

转载 作者:行者123 更新时间:2023-12-04 11:26:14 29 4
gpt4 key购买 nike

我有兴趣生成一个带有 position='dodge' 和 fill=some factor 的直方图(即每个条/组内不同子组的并排条),但是 ggplot2 给了我类似 the first plot here 的东西,它有一个最右边的栏太宽并且没有为我想要的空组保留空间。

这是一个简单的例子:

df = data.frame(a=c('o','x','o','o'), b=c('a','b','a','b'))
qplot(a, data=df, fill=b, position='dodge')

来自 ggplot geom_bar - bars too wide我有了这个想法,虽然它在技术上产生了一个相同宽度的条,但没有为空组保留空间:

ggplot(df, aes(x=a, fill=a))+
geom_bar(aes(y=..count../sum(..count..))) +
facet_grid(~b,scales="free",space="free")

我如何实现我想要的?提前致谢。

最佳答案

ggplot 中的默认选项生成我认为您描述的内容。 scales="free"space="free" 选项与您想要的相反,因此只需从代码中删除它们即可。此外,geom_bar 的默认 stat 是通过计数来聚合的,因此您不必明确指定您的统计信息。

ggplot(df, aes(x=a, fill=a)) + geom_bar() + facet_grid(~b)

enter image description here

关于r - ggplot2 位置 ='dodge' 生成的条太宽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7104542/

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