当 SEM 已在数据集中计算时,将 SEM 条添加到 ggline 图
adding SEM bars to ggline graph when SEM is already calculated in dataset
我有一个看起来像这样的数据集
well time mm sem
x basal 83.96792 8.068338
x stimulus1 153.17250 8.338465
x recovery 60.45712 5.97283
x stimulus2 154.26550 6.533665
以及由此代码制作的图表
ggline(df, x = 'time', y = 'mm', color = 'well', palette = c("#00AFBB", "#E7B800")) +
theme_grey()
我想用我已经计算出的 SEM 编号将 SEM 条添加到四个数据点中的每一个(四个点中的每一个都是持续时间的总和,所以这就是我为每个点创建 SEM 的方式)来制作图形看起来像这样
知道怎么做吗?
你可以写:
ggplot(df, aes(x = time, y = mm, group = well)+
geom_point()+
geom_line()+
geom_errorbar(aes(ymin = mm-sem, ymax = mm+sem), width = 0.2)
所以,它应该看起来像:
但是根据您的数据框和代码,我认为您更希望寻找这样的东西:
ggplot(df, aes(x = factor(time,unique(time)), y =mm, group = well, color = time))+
geom_point()+
geom_errorbar(aes(ymin = mm-sem, ymax = mm+sem), width = 0.2)+
scale_color_manual(values = rep(c("#00AFBB", "#E7B800"),2))
它是否回答了您的问题?
可重现的例子
structure(list(well = c("x", "x", "x", "x"), time = c("basal",
"stimulus1", "recovery", "stimulus2"), mm = c(83.96792, 153.1725,
60.45712, 154.2655), sem = c(8.068338, 8.338465, 5.97283, 6.533665
)), row.names = c(NA, -4L), class = c("data.table", "data.frame"
))
我有一个看起来像这样的数据集
well time mm sem
x basal 83.96792 8.068338
x stimulus1 153.17250 8.338465
x recovery 60.45712 5.97283
x stimulus2 154.26550 6.533665
以及由此代码制作的图表
ggline(df, x = 'time', y = 'mm', color = 'well', palette = c("#00AFBB", "#E7B800")) +
theme_grey()
我想用我已经计算出的 SEM 编号将 SEM 条添加到四个数据点中的每一个(四个点中的每一个都是持续时间的总和,所以这就是我为每个点创建 SEM 的方式)来制作图形看起来像这样
知道怎么做吗?
你可以写:
ggplot(df, aes(x = time, y = mm, group = well)+
geom_point()+
geom_line()+
geom_errorbar(aes(ymin = mm-sem, ymax = mm+sem), width = 0.2)
所以,它应该看起来像:
但是根据您的数据框和代码,我认为您更希望寻找这样的东西:
ggplot(df, aes(x = factor(time,unique(time)), y =mm, group = well, color = time))+
geom_point()+
geom_errorbar(aes(ymin = mm-sem, ymax = mm+sem), width = 0.2)+
scale_color_manual(values = rep(c("#00AFBB", "#E7B800"),2))
它是否回答了您的问题?
可重现的例子
structure(list(well = c("x", "x", "x", "x"), time = c("basal",
"stimulus1", "recovery", "stimulus2"), mm = c(83.96792, 153.1725,
60.45712, 154.2655), sem = c(8.068338, 8.338465, 5.97283, 6.533665
)), row.names = c(NA, -4L), class = c("data.table", "data.frame"
))