我正在尝试从原始数据创建一个堆叠的条形图,其中每组因子变量可能都有多个条目,并且y值应为所有此类条目的总和。首先执行普通的geom_bar看起来不错,但似乎将每个原始条目都绘制为一个相互堆叠的单独矩形。看起来不错,直到您要在条形图的每个部分周围画一个框架:
library(tidyverse)
data = tibble(
age = factor(c(2, 3, 3, 3, 2, 2)),
value = c(30, 5, 15, 14, 29, 9)
)
ggplot(data, aes(x = "Observation", y = value, fill = age)) +
geom_bar(stat = "identity", colour = "black")
我实际上想要的是围绕绿松石的一帧和围绕红色部分的一个矩形。如何直接用ggplot做到这一点?
当然,可以手动调用摘要:
ggplot(data %>% group_by(age) %>% summarize(value = sum(value)),
aes(x = "Observation", y = value, fill = age)) +
geom_bar(stat = "identity", colour = "black")
但这需要针对每个不同的轴变量选择进行调整,这很痛苦,因为我正在处理约15个因子维度,并且必须创建数十个图表,每个轴的因子变量都不同(包括facet_grid )。
因此,理想情况下,ggplot / geom_bar将自动进行汇总,然后绘制汇总值,而不是分别绘制每个单独的条目。 这可能吗?