Я работал с R-markdown для генерации отчетов в формате HTML. Однако, поскольку наборы данных огромны, создание коробочных диаграмм с полными данными занимает слишком много времени, что делает его невозможным. Поэтому я решил предварительно рассчитать итоговые данные и построить коробочные диаграммы из квартилей, средних, медианных и выбросов с использованием PLOTLY в R. Однако я испытываю трудности при попытке разместить выбросы в правильных положениях оси x для каждой группы коробочных диаграмм.
Ниже приведен пример кода
library(plotly)
library(data.table)
# use summary data for plotly boxplots
# Simulate data.
n <- 10e5
dt <- data.table(trait=rnorm(n),
year=sample(2016:2019, n, replace=TRUE),
line=factor(sample(letters[1:3], n, replace=TRUE)))
# calculate summary data (summary + outliers) separately
stats <- dt[, boxplot.stats(trait)[1], by=.(year, line)]
out <- dt[, boxplot.stats(trait)[4], keyby=.(year, line)]
# create and plot the BOXPLOT
plot_ly() %>%
add_trace(data=stats, x=~year, y=~stats, color=~line, type="box") %>%
layout(boxmode="group") %>%
add_markers(data=out, x=~year, y=~out, color=~line) %>%
config(displayModeBar=FALSE, showTips=FALSE)
В результате получается блокпост с группами, где выбросы располагаются в одной и той же позиции по оси X для каждого года, но не делятся для каждого из них. line-group.
Кто-нибудь знает, как заставить add_markers () размещать эти заранее вычисленные точки выброса в правильных позициях на блокпосте ???