Я использую stat_summary
в ggplot для построения гистограммы. Я хотел бы изменить ширину баров. Обычно это делается с помощью опции width
. С предварительно суммированными данными и stat="identity
он работает как ожидалось:
data <- data.frame(group=rep(c("a","b"), 20), y=rnorm(40,100,50))
se <- function(x, na.rm=T) sd(x, na.rm=na.rm)/sqrt(length(x))
data2 <- cast(data, group ~ ., value="y", c(mean, se))
ggplot(data2, aes(group, mean, ymin=mean-1.96*se, ymax=mean+1.96*se)) +
geom_bar(stat="identity", width=0.5) + geom_errorbar(width=0, size=2)
Однако, в том же графике исходных данных с использованием stat_summary
, полосы не изменяют ширину, а ошибки:
ggplot(data, aes(group, y)) + stat_summary(fun.y="mean", geom="bar", width=0.5) +
stat_summary(fun.data="mean_cl_normal", geom="errorbar", width=0, size=2)
Есть ли способ изменить ширину полосы даже при использовании stat_summary
?
Поскольку первый пример работает, этот вопрос, очевидно, уже имеет обход, однако мне бы очень хотелось узнать, есть ли способ сделать это с помощью stat_summary
, потому что я использую его много и часто больше удобно.
Спасибо!