我想制作一个反向金字塔图形,其中条形图彼此堆叠,宽度不同 .
1,我有一个堆积条形图,如下面的代码示例
library(dplyr)
library(ggplot2)
sample <- data_frame(x=c(1, 1, 1, 1, 2, 2, 2, 2),
y=c(5,10,15, 20, 10, 5, 20, 10),
w=c(1, 2, 3, 4, 1, 2, 3, 4),
group=c("a", "b", "c", "d", "a", "b", "c", "d"))
ggplot() +
geom_bar(data=sample,
aes(x=x,y=y,group=group, fill=group),
stat="identity", position=position_stack())
然后我将宽度添加到 aes
,因此具有较低 w
值的那个将会更小,而它们仍然相互堆叠 . 然而,酒吧并没有叠加警告 .
ggplot() +
geom_bar(data=sample,
aes(x=x,y=y,group=group, fill=group, width=w/5),
stat="identity", position=position_stack())
Warning: Ignoring unknown aesthetics: width
Warning message:
position_stack requires non-overlapping x intervals
任何有助于制作条形图的帮助或者可以涵盖类似概念的不同情节类型的想法将受到高度赞赏 . 谢谢!
2 回答
这有点像黑客 .
我将使用
geom_rect()
而不是真正的列 . 因此,我需要为矩形边界创建具有预先计算位置的data.frame()
.结果情节:
带有丝带的相当冗长的版本