簡體   English   中英

為什么堆積條形圖中的負值填充順序相反? (R,ggplot2)

[英]Why does the fill order reverse for negative values in stacked bar charts? (R, ggplot2)

我正在嘗試繪制個人在許多任務上的表現。 表現按類別進行評級,我想將每個人的整體表現顯示為堆積條形圖,其中 Y 代表每個表現類別中答案的百分比,正值表示良好表現,負值表示表現不佳或缺少答案。 這是一個玩具數據集和我設法生成的當前圖:

df <- data.frame(SRC = rep(LETTERS[1:14],each=6),
                 CAT = rep(c("Excellent","VeryGood","Good","Poor","Failing","Missing"),times=14),
                 PERCENT = c(29.3, 23.3, 30, -13.3, -4, 0, 16.7, 15.3, 38.7, -14.7, -4.7, 
                             -10, 12, 9.3, 30.7, -19.3, -19.3, -9.3, 2.7, 6.7, 20, -23.3, 
                             -14, -33.3, 16, 23.3, 20.7, -10.7, -9.3, -20, 24.7, 22, 12.7, 
                             -8, -2, -30.7, 14, 15.3, 23.3, -4, -4.7, -38.7, 4.7, 6, 60, -24, 
                             -4.7, -0.7, 8, 13.3, 57.3, -16, -3.3, -2, 8, 11.3, 62, -12.7, 
                             -5.3, -0.7, 9.3, 14.7, 64.7, -10, -1.3, 0, 20.1, 20.9, 32.5, 
                             -1.5, 0, 0, 14.2, 10.4, 33.2, -6.6, -2.8, 0, 14.7, 18.7, 55.3, 
                             -10.7, 0, -0.7))

df$CAT <- ordered(df$CAT,levels=c("Excellent","VeryGood","Good","Poor","Failing","Missing"))

ggplot(df, aes(x=SRC, y=PERCENT, fill=CAT,group=CAT,group=SRC)) + 
  geom_bar(position="stack", stat="identity")

這是圖:

在此處輸入圖片說明

這幾乎是我想要的,除了負值的 CAT 順序相反,我希望條形根據因子水平和負值的填充圖例堆疊,即Poor>Failing>Missing。 這肯定以前出現過,但我無法在這里或其他地方找到解決方案。 提前致謝!

在此處輸入圖片說明 使用預測庫:

library(forecats)



df %>% 
mutate(CAT=fct_relevel(CAT,"Excellent","VeryGood","Good","Missing","Failing","Poor")) %>% 
ggplot( aes(x=SRC, y=PERCENT, fill=CAT)) + 
  geom_bar(position="stack", stat="identity")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM