Другой вариант - использовать ggplot2 и преобразовать его в сюжет
library(ggplot2)
library(dplyr)
library(tidyr)
library(plotly)
p = iris %>% pivot_longer(-Species) %>%
ggplot(aes(x=name,y=value,col=name)) +
geom_boxplot() + stat_summary(inherit.aes = FALSE,
aes(x=name,y=value,group=1),fun.y=median,geom="line")
ggplotly(p)
Краткое описание кода. Я использую pivot_longer
из tidyr
для приведения кадра данных в длинный формат, и сначала сделал блокпост с именами столбцов в виде переменной x и цвета.
В части stat_summary
я снова указал те же переменные x и y, и на этот раз пропустил цвет, добавив group=1
, это говорит stat_summary
, чтобы рассмотреть весь фрейм данных как одну группу, суммировать все значения y для каждой x-группы и провести через него линию.