小编Vin*_*hen的帖子

ggplot2:并排条形图,其中一个条形堆叠,另一个条形不堆叠

我正在尝试创建一个条形图,其中对于每个类别,绘制两个条形图(并排):一个用于“总计”,另一个由子组堆叠。例如,在下面的数据框中,“名称”将显示在 x 轴上。对于“names”中的每个类别,一个条形将代表“total”的值,另一个将是一个堆叠条形,代表“aaa”、“bbb”和“ccc”的值。我设法获得了“背靠背”图,但我不知道如何将“闪避”位置应用于这种情况以使条形并排。

df = data.frame(names = rep(LETTERS[1:3], each=4), 
                num = c(rep(c("aaa","bbb","ccc","total"), 3)), 
                values = c(1,2,3,7,2,2,5,10,3,4,2,9)))
p = ggplot(df, aes(x=factor(names))) + 
    geom_bar(data=subset(df,num=="total"), aes(y=values), stat="identity",width=.5) +
    geom_bar(data=subset(df,num!="total"), aes(y=-values,fill=factor(num)), stat="identity",width=.5) 
print(p)
Run Code Online (Sandbox Code Playgroud)

r bar-chart ggplot2

6
推荐指数
1
解决办法
5696
查看次数

标签 统计

bar-chart ×1

ggplot2 ×1

r ×1