2

我在创建比例条形图时遇到问题。

这是我当前的代码:

ggplot(data = d,
       aes(fill = version)) +
  theme(legend.position = 'bottom') +
  geom_bar(aes(x = cregion,
               y = ..count../sum(..count..)),
           position = 'dodge') +
  scale_y_continuous(labels = percent) + 
  coord_flip()

产生这个: 德普图

但是,这会缩放条形,以便总和为 100%。我想要的是鲑鱼条的总和为 100%,水族条的总和为 100%。换句话说,我对缩放中的比例感兴趣。除了进入我的数据并处理我的变量之外,有没有办法用 ggplot 做到这一点?

4

1 回答 1

0

截至 2017 年 3 月,对于 ggplot2 2.2.1,我认为最佳解决方案在 Hadley Wickham 的 R for data science 书中进行了解释:

ggplot(data = d,aes(x=cregion)) + 
stat_count(aes(y=..prop.., group=version, fill = version, position = "dodge"))+
theme(legend.position = "bottom")+
scale_y_continuous(labels = percent) + 
coord_flip()

stat_count 计算两个变量:默认使用count,但您可以选择使用显示比例的prop。

在Show % 而不是在分类变量图表中找到原始答案

于 2018-03-21T03:59:04.500 回答