簡體   English   中英

條形圖多變量(使用 ggplot)

[英]Barplot Multiple Variable (using ggplot)

我想制作一個包含 2 個變量的條形圖。

我有一個名為“sexe”的變量,第二個名為“surchage_mentale”。 我想要這種類型的圖表:

我想要的條形圖

但是是:女性/男性,否:女性/男性

df <- structure(list(sexe = c("women", "men", "women", "men", "women", "men", "women", "men"), surcharge_mentale = c("yes", "yes", "no", "yes", "yes", "no", "yes", "yes")

sexe_surchargementale <- df %>% select(sexe, surcharge_mentale)

#first method
ggplot(sexe_surchargementale, aes(x = "surcharge_mentale", fill = "sexe")) +
    geom_bar(position = "dodge")

#second method
sexe_surchargementale %>%
  pivot_longer(everything(), names_to = "name", values_to = "response") %>%
  group_by(name, response) %>%
  summarise(cnt = n()) %>%
  ggplot(aes(x = name, y = cnt, fill = response)) +
  geom_bar(stat = "identity", position = "dodge") +
  labs(title="") 

我放了一個我的數據樣本。 第一種方法不起作用,我不明白為什么,我完全迷路了。

這里不需要pivot。 只需使用構面,並確保您的變量名不帶引號:

ggplot(sexe_surchargementale, aes(x = surcharge_mentale)) +
  geom_bar(position = "dodge", fill = "deepskyblue3", width = 0.6) +
  facet_grid(.~sexe, switch = "x") +
  theme_light() +
  theme(strip.placement = "outside",
        text = element_text(size = 14),
        strip.background = element_blank(),
        strip.text = element_text(colour = "black", size = 16),
        panel.spacing = unit(0, "mm"),
        panel.border = element_blank(),
        panel.grid.minor.y = element_line(colour = "gray75", size = 0.5),
        panel.grid.major.y = element_line(colour = "gray75", size = 0.5),
        panel.grid.major.x = element_blank())

在此處輸入圖像描述

暫無
暫無

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

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