【发布时间】:2020-07-06 12:57:29
【问题描述】:
我在创建堆叠条形图时遇到困难,其中 x 轴有多个分组。
df <- data.frame(random = c(1, 1, 1, 1, 1, 1, 1),
value = c("s1", "s1", "s1", "s1", "s1", "s2", "s3"),
countries = factor(c("US", "Japan", "UK", "Germany", "France", "France", "France")),
week = factor(c("week1", "week2", "week1", "week2", "week1", "week1", "week2")))
在此示例中,我尝试按 week 和 countries 对 x 轴进行分组。 我想通过按 week、countries 和 value 分组来显示 value 出现次数的百分比。我希望条形图的输出显示为:
- 美国,第 1 周:100%
- 日本,第 2 周:100%
- 英国,第 1 周:100%
- 德国,第 1 周:100%
- 法国,第 1 周:50%(value-s1),50%(value-s2)
- 法国,第 2 周:100%(价值-s3)
我当前的代码是:
result <- df %>% group_by_(df$countries, df$week, df$value) %>% summarise(total = n()) #get number of occurences
ggplot(result, aes(x = interaction(result[["countries"]], result[["week"]]), y = result[["total"]], fill = result[["total"]])) +
geom_bar(position = "fill", stat = "identity") +
scale_y_continuous(labels = scales::percent_format())
你能帮我解决这个逻辑吗?我相信 scale_y_continuous(labels = scales::percent_format()) 应该为我计算百分比。
【问题讨论】: