R ggplot Sort 百分比堆积条形图

韦斯利

我正在尝试根据“好”百分比对 ggplot 进行排序。下面是我正在使用的数据框。还有我现在得到的以及我理想中想要的。

library(ggplot2)

a <- c("Nevada", "Maine", "North Carolina", "South Carolina", "Texas", "Rhode Island", 
       "Nevada", "Maine", "North Carolina", "South Carolina", "Texas", "Rhode Island")
b <- c(0.81, 0.72, 0.65, 0.55, 0.45, 0.35, 0.19, 0.28, 0.35, 0.45, 0.55, 0.65)
d <- c("Good", "Good", "Good", "Good", "Good", "Good", "Bad", "Bad", "Bad", "Bad", "Bad", "Bad")

df <- data.frame(a,b,d)
names(df) <- c("State", "Percentage", "Condition")
 
ggplot(df, aes(x=State, y=Percentage, fill=Condition))+
  geom_bar (position = "fill", stat="identity")+
  coord_flip()

我目前的结果是:。

当前堆叠条形图

在此处输入图片说明

理想情况下,我的结果是这样的:

期望输出

在此处输入图片说明

我已经阅读了多个答案,但是,似乎没有任何效果。我认为我的数据表格式可能是问题的一部分,但是,我尝试了各种方法。任何指导表示赞赏。

罗纳克·沙阿

您可以过滤'Good'条件数据,根据数据的降序分配因子水平,然后绘制数据。

library(dplyr)
library(ggplot2)

df %>%
  filter(Condition == 'Good') %>%
  arrange(desc(Percentage)) %>%
  bind_rows(df %>% filter(Condition != 'Good')) %>%
  mutate(State = factor(State, unique(State)), 
         Percentage = Percentage * 100, 
         label = paste0(Percentage, '%')) %>%
  ggplot(aes(x=State, y=Percentage, fill = Condition, label = label))+
  geom_col() +
  geom_text(size = 3, position = position_stack(vjust = 0.5)) + 
  coord_flip() 

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用ggplot在R中创建堆积百分比条形图

ggplot2 R:具有多个变量的百分比堆积条形图

R带有ggplot的两个因子变量的百分比的堆积百分比条形图

如何在R中使用ggplot2(百分比,排序)更改堆积条形图

R:如何将数据聚合成百分比而又不会丢失ggplot2中堆积条形图的数据?

ggplot2中条形图的计数和百分比如何?[R

在R中计算百分比并制作ggplot条形图

如何在堆积的条形图ggplot2上组织百分比值

在每个类的中间注释百分比堆积条形图,ggplot

用 R ggplot2 中的百分比从头开始分类变量的堆叠条形图

R:ggplot堆叠的条形图,y轴上有计数,但百分比为标签

如何在R中的ggplot2中向条形图方面添加百分比?

在 R 中按比例或百分比对堆积条形图进行排序

在 R 中绘制百分比堆积条形图

堆叠的ggplot百分比条形图在闪亮

ggplot条形图百分比组

二进制列求和成ggplot中堆积的百分比条形图

总与部分的条形图,百分比 (R)

堆叠条形图将变量转换为ggplot2 R中不相关变量的基于不存在的百分比

特殊堆积条形图R ggplot

如何在R中的计数ggplot条形图中添加一个变量的百分比

在 ggplot2 中绘制堆积条形图:将变量表示为另一个变量的百分比

条形图 - 堆叠的 ggplot 百分比条形图起始值不是 0%

将百分比标签添加到堆叠的条形图ggplot2

ggplot2 中按组显示的百分比条形图

如何使用ggplot输入2位数的条形图百分比(%)?

ggplot2:如何绘制条形图,条形图表示百分比,并根据百分比值进行着色?

如何在 R Shiny 应用程序中创建具有两个反应值的堆积百分比条形图?

带百分比的R ggplot