【发布时间】:2018-12-10 16:46:50
【问题描述】:
我尝试构建一个不同宽度的堆积条形图,宽度表示分配的平均数量,而高度表示分配的数量。
接下来,你会发现我的可重现数据:
procedure = c("method1","method2", "method3", "method4","method1","method2", "method3", "method4","method1","method2", "method3","method4")
sector =c("construction","construction","construction","construction","delivery","delivery","delivery","delivery","service","service","service","service")
number = c(100,20,10,80,75,80,50,20,20,25,10,4)
amount_mean = c(1,1.2,0.2,0.5,1.3,0.8,1.5,1,0.8,0.6,0.2,0.9)
data0 = data.frame(procedure, sector, number, amount_mean)
当使用 geom_bar 并在 aes 中包含宽度时,我收到以下错误消息:
position_stack requires non-overlapping x intervals. Furthermore, the bars are no longer stacked.
bar<-ggplot(data=data0,aes(x=sector,y=number,fill=procedure, width = amount_mean)) +
geom_bar(stat="identity")
我还查看了 mekko-package,但似乎这仅适用于条形图。
这里是我最后想要的(不是基于上面的数据):
知道如何解决我的问题吗?
【问题讨论】:
-
如果一切都失败了,可以预先计算一切并使用
geom_rect -
您希望如何订购堆叠?我现在用
geom_tile做,它可以让你设置矩形的中心,然后设置它的宽度和高度,但它看起来很奇怪