我想在我的线性图中绘制带有标准偏差的误差线。我不知道为什么它只能处理标准错误。我在做什么错了?
我尝试了几种方法,但是我不断出错。
library(ggplot2)
line = ggplot(alldata, aes(Time, Vol))
line +
stat_summary(fun.y = mean, geom = 'point')+
stat_summary(fun.y = mean, geom = "line", aes(group = 1))+
stat_summary(fun.data = mean_se, geom = "errorbar", width = 0.5)+
在mean_se
正常工作时,但我需要sd
ylab("V")+
xlab("T)")+
theme_bw()+
theme(panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_rect(colour = "black", size=2))
我有自己的情节,但只有标准误差线
答案 0 :(得分:0)
欢迎来到SO。请参阅here,了解如何创建最小的可复制示例。从中学习并修改您的问题。除此之外,一个很大的问题是反映已完成的充分研究的问题。之前没有类似问题的匮乏。因此,当您发布问题时,请确保提供充分的文档,说明您尝试了哪些步骤,包括类似的问题来查找解决方案。
在没有数据的情况下,我使用mtcars
数据集。
mean_sdl
使用参数mult
,该参数指定标准差的数量-默认情况下为mult = 2
。因此,您需要通过mult = 1
library(tidyverse)
#load mtcars dataset
mtcars <- mtcars
str(mtcars)
# coerce to factor for bar plot
mtcars$cyl<- as.factor(mtcars$cyl)
mtcars$gear<- as.factor(mtcars$gear)
ggplot(mtcars, aes(cyl, disp, fill = gear)) +
geom_bar(stat = "summary", fun.y = "mean", na.rm = TRUE,
position = position_dodge(width = 0.9)) +
geom_errorbar(stat = "summary", fun.data = "mean_sdl",
fun.args = list(mult = 1),
position = position_dodge(width = 0.9)) +
ylab("mean displacement") +
ggtitle("Some plot")