Добавить точечный слой с аргументом shape = 95
, как показано здесь @hrbrmstr: https://stackoverflow.com/a/39601572/8583393
p <- ggerrorplot(df, x = "dose", y = "len",
add = "jitter", # 'mean' and c() removed in this line
error.plot = "errorbar")
p + stat_summary(
geom = "point",
shape = 95,
size = 30,
col = "red",
fun.y = "mean")
Я удалил диапазон точекслой, который, по-видимому, не нужен при добавлении горизонтальных линий / полос.
Если вам нужен контроль ширины горизонтальных линий, здесь есть опция, которая использует geom_segment
.
Сначала вычисляем значения по оси Y
df_segment <- aggregate(len ~ dose, p$data, FUN = mean)
Затем строим график
p +
geom_segment(
data = transform(df_segment, dose = as.numeric(dose)),
aes(
x = dose - 0.1,
xend = dose + 0.1,
y = len,
yend = len
),
col = "red",
size = 1
)