我想有一个条形图与不同的差距酒吧在同一组,这里举例说明代码。
df <- data.frame(
group = rep(c("A", "B", "C"), each = 3),
category = rep(c("X", "Y", "Z"), 3),
value = rnorm(9)
)
df$width = ifelse(df$category=="X",2,1)
ggplot(df, aes(x = group, y = value, fill = category)) +
geom_col(width = df$width,position = position_dodge2(padding = c(0.5,0,0))) +
scale_fill_manual(values = c("red", "green", "blue"))
我得到差距的事情做,但酒吧是不是与x轴对齐,如图所示。
如何解决这个问题?谢谢。
2条答案
按热度按时间jdgnovmf1#
问题可能是你的
df$width
变量。尝试设置它们,使每个类别的总和为1:结果:
km0tfn4u2#
在
position_dodge2()
函数中使用preserve
参数,这是您想要的吗?根据OP的注解更新,尝试删除宽度参数。