【发布时间】:2019-08-26 19:41:51
【问题描述】:
我的样本数据和绘图:
library(data.table)
library(ggplot2)
dt2 <- fread('
risk group counts
low A 178
High A 1
low B 4
High B 100
low C 45
High C 83
low D 50
High D 2
')
# ggplot(dt2, aes(x=group,y=counts,fill=risk)) + geom_bar(stat='identity')
dt2[,rel1:=counts/sum(counts),by=group]
# ggplot(dt2, aes(x=group,y=rel1,fill=risk)) + geom_bar(stat='identity')
dt2[,grpSize:=sum(counts),by=group]
ggplot(dt2, aes(x=group,y=rel1,fill=risk,width = grpSize/200)) + geom_bar(stat='identity')
如我所愿,条形的宽度与组的大小成正比,每个子组的高度(低/高)与该子组的大小成正比。但是更改 width 会导致条形之间的间隙发生变化 - 我怎样才能避免这种情况并保持条形之间的距离不变?
【问题讨论】:
-
看来您基本上是在尝试制作马赛克图,例如here
-
你说得对,这正是我想要的,谢谢!从美学上讲,我更喜欢
facet_grid解决方案的输出外观 - 以及我不需要额外功能的事实 - 但它绝对值得作为答案添加。
标签: r ggplot2 mosaic-plot marimekko-chart