我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)
Run Code Online (Sandbox Code Playgroud)
但是,在使用原始数据的相同图中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)
Run Code Online (Sandbox Code Playgroud)
有没有办法改变条宽,即使使用stat_summary?
由于第一个例子有效,这个问题显然已经解决了,但是,我真的想知道是否有任何方法可以解决这个问题stat_summary,因为我经常使用它并且通常更方便.
谢谢!
mne*_*nel 11
当前的解决方案是传递width内部aes- 这违背了ggplot(映射与设置)的原则,但至少它有效....
请注意,linerange如果您想要没有错误条的误差线,您可以使用!
ggplot(data, aes(group, y)) +
stat_summary(fun.y="mean", geom="bar", aes(width=0.5)) +
stat_summary(fun.data="mean_cl_normal", geom="linerange", size=2)
Run Code Online (Sandbox Code Playgroud)

| 归档时间: |
|
| 查看次数: |
5704 次 |
| 最近记录: |