【发布时间】: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