[英]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.