【问题标题】:stacked barplots: spacing within bars堆积条形图:条形内的间距
【发布时间】:2017-08-21 14:22:07
【问题描述】:

我已经尝试找到类似问题的问题,但没有结果。如果这个问题已经被问过,请指导我。


如何在堆叠条形图的每个条形内添加空间?

df <- data.frame(Type =sample(LETTERS[1:5],14,replace = T), 
                  ET =sample(c('A1','A2','B3','B6','C5'),14,replace = T))
ggplot(df, aes(x=Type, fill = as.factor(ET))) + geom_bar()

例如,A 栏内两种类型(颜色)之间的空格。

可以选择使用以下命令对两个变量执行此操作,但不确定是否适用于单个变量图

ggplot(data, aes(x=xvar,y=yvar,fill=zvar)) + geom_bar(stat="identity")

试过这个命令,但没有用:

df %>% group_by(Type) %>% count(ET) %>% data.frame() %>%  ggplot(aes(x=Type, y=n, fill = ET)) + geom_bar(stat="identity")

【问题讨论】:

  • “间距”到底是什么意思?它们是堆叠的,本质上不同颜色之间不应该有间距。你的意思是改变颜色的排序方式吗?例如紫上红?
  • 是的,我同意你关于堆积条形图的概念。在我的例子中,当每个条中有超过 10 个子类型时,很难区分它们。所以。正在寻找明确区分类型的空间。
  • @Prradep 如果您如此关心区分每种类型的空间,那么为什么不添加width 参数。喜欢ggplot(df, aes(x=Type, fill = as.factor(ET), width=0.5))+ geom_bar(colour="black", position="stack")
  • 也许我们想多了。如果您只是希望堆叠的条在视觉上彼此不同,那么在geom_bar() 调用中设置col = "black"(或白色)怎么样?
  • @Prradep 很高兴能提供帮助。您可以通过size 控制线条粗细,例如geom_bar(col = "black", size = 2) :)

标签: r ggplot2 stacked-chart stackedbarseries


【解决方案1】:

如果有人在寻找我一直在寻找的答案,请看下面的sn-p; 提供类似的输出

ggplot(df, aes(x = Type, fill = as.factor(ET))) + 
  geom_bar(colour = "white", size = 2)

由于上述答案是基于问题给出的 cmets,我不接受这个作为答案。

【讨论】: