簡體   English   中英

x軸上方和下方計數的堆積條形圖?

[英]Stacked Bar-chart with count above and below x-axis?

我有一個包含多個類別的大型數據集,以及一個值為 YES 和 NO 的決策列。 我想 plot 堆疊條形圖,其中決定列將結果堆疊在 x 軸上方的 YES 值和 x 軸下方的 NO。 我怎樣才能做到這一點?

我在下面做了一個模型來展示我想要的東西。 請注意,所有類別都可以有一個 YES 和一個 NO 值。

例子

您可以使用dplyr將“是”值轉換為正數,將“否”值轉換為負數,然后使用堆疊的geom_col

您還沒有提供任何示例數據,所以我為以下代表做了一些補充:

set.seed(69)
df <- data.frame(Var1 = sample(LETTERS[1:6], 500, replace = TRUE, prob = 1:6),
                 Var2 = as.factor(sample(1:6, 500, replace = TRUE, prob = 6:1)),
                 YesNo = sample(c("Yes", "No"), 500, TRUE))
head(df)
#>   Var1 Var2 YesNo
#> 1    D    1   Yes
#> 2    C    3    No
#> 3    D    6   Yes
#> 4    B    3   Yes
#> 5    E    1    No
#> 6    B    1   Yes

數據操作和 plot 看起來像這樣:

library(dplyr)
library(ggplot2)

df %>% 
  group_by(Var1, Var2) %>% 
  summarize(Yes = sum(YesNo == "Yes"), No = -sum(YesNo == "No")) %>%
  ggplot(aes(x = Var2, y = Yes, fill = Var1)) + 
    geom_col(position = "stack") +
    geom_col(aes(y = No), position = "stack") +
    geom_hline(aes(yintercept = 0)) + 
    labs(y = paste("No", "Yes", sep = paste(rep(" ", 20), collapse = " ")))

代表 package (v0.3.0) 於 2020 年 5 月 14 日創建

暫無
暫無

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

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