gpt4 book ai didi

r - 如何使用 ggplot2 创建堆叠直方图?

转载 作者:行者123 更新时间:2023-12-02 15:34:20 24 4
gpt4 key购买 nike

我想创建一个堆叠直方图,显示底部的 canceled == TRUE 和顶部的 canceled == FALSE。不过,我似乎无法弄清楚。我有什么想法可以使用 ggplot2 做到这一点,同时保持 facet wrap around source?

这是我目前拥有的:

ggplot(data, aes(x=days, fill="canceled")) +
geom_histogram(binwidth=1, position="stack") +
facet_wrap(~source, ncol=2, scale="free_y") +
coord_cartesian(xlim=c(0, 21))

我的数据:

days,source,canceled
1,ABC,TRUE
1,ABC,FALSE
1,ABC,TRUE
2,ABC,FALSE
2,XYZ,FALSE

最佳答案

好吧,您至少应该从 ggplot 命令中的“已取消”一词周围删除引号开始。这会导致 TRUE 和 FALSE 值的颜色不同并堆叠在一起,这比您之前的要好,但是,它仍然在顶部堆叠 TRUE,在底部堆叠 FALSE,这与您要求的相反。我不确定如何控制堆叠顺序(毕竟,您可能首先使用 ggplot2 来委派许多详细的低级显示决策)但这至少解决了一半的问题.我对您的代码稍作修改的版本和显示的结果附在下面。 ggplot results for histogram stacking example

library(ggplot2)

days <- c(1, 1, 1, 2, 2)
source <- c("ABC", "ABC", "ABC", "ABC", "XYZ")
canceled <- c(TRUE, FALSE, TRUE, FALSE, FALSE)

data <- data.frame(days, source, canceled)

print(ggplot(data, aes(x=days, fill=canceled)) +
geom_histogram(binwidth=1, position="stack") +
facet_wrap(~source, ncol=2, scale="free_y") +
coord_cartesian(xlim=c(0, 21)))

关于r - 如何使用 ggplot2 创建堆叠直方图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20709144/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com