我正在尝试在ggplot2的堆叠条形图中将百分比数字显示为标签。我找到了3年前的其他帖子,但我无法复制它:如何在基于组的ggplot2中绘制显示百分比的堆叠条形图?
那篇文章的答案几乎完全符合我的要求。
这是我的数据的简单示例:
附带问题:如何减少条形图之间的空间?我也找到了许多答案,但它们建议在position_fill()中使用width参数,但这个参数似乎已经不存在了。
非常感谢!
编辑:
到目前为止,有两个示例完全展示了我所要求的内容(非常感谢您的快速回复),但是当应用于我的真实数据时,它们会失败。这里是示例数据,只添加了另一个元素以显示发生了什么:
基本上,我希望每个类别/条件组合只有一个标签。
这是我的数据的简单示例:
df = data.frame('sample' = c('cond1','cond1','cond1','cond2','cond2','cond2','cond3','cond3','cond3','cond4','cond4','cond4'),
'class' = c('class1','class2','class3','class1','class2','class3','class1','class2','class3','class1','class2','class3'))
ggplot(data=df, aes(x=sample, fill=class)) +
coord_flip() +
geom_bar(position=position_fill(reverse=TRUE), width=0.7)
我希望每个条形图都显示百分比/分数,所以在这种情况下它们都将是33%。实际上,如果可以实时计算值,那就更好了,但如果需要,我也可以手动输入百分比。有人能帮忙吗?附带问题:如何减少条形图之间的空间?我也找到了许多答案,但它们建议在position_fill()中使用width参数,但这个参数似乎已经不存在了。
非常感谢!
编辑:
到目前为止,有两个示例完全展示了我所要求的内容(非常感谢您的快速回复),但是当应用于我的真实数据时,它们会失败。这里是示例数据,只添加了另一个元素以显示发生了什么:
df = data.frame('sample' = c('cond1','cond1','cond1','cond2','cond2','cond2','cond3','cond3','cond3','cond4','cond4','cond4','cond1'),
'class' = c('class1','class2','class3','class1','class2','class3','class1','class2','class3','class1','class2','class3','class2'))
基本上,我希望每个类别/条件组合只有一个标签。