Hi!
I'm stuck again while trying to animate two violin plots for comparison (over time) with plotly.
For each frame (timestamp), I want to plot specific values (mean, median, total number of samples at this point) somewhere on the plot (in the legend, on top, corner right ...).
I thought annotations would be the right way to implement this - but I haven't been able to show dynamic values (or a pre-defined list, related to the current frame) so far. Until now, I just can show a static text!
Has anyone an idea? Best regards!
library(plotly)
library(dplyr)
df_test <- data.frame(side=rep(c("left","right"), 100),
daysPassed=c(sample(1:100, 200, replace=T)), month=c(rep(201601,20),rep(201602,20),rep(201603,20),rep(201604,20),rep(201605,20),rep(201606,20),rep(201607,20),rep(201608,20),rep(201609,20),rep(201610,20))
)
df_test %>%
plot_ly(
x = ~side,
y = ~daysPassed,
frame = ~month,
split = ~side,
type = 'violin',
points = F,
spanmode = "hard",
showlegend = F,
box = list(
visible = F
),
meanline = list(
visible = T
)
) %>%
layout(
annotations = list(text = ~month, showarrow = F),
yaxis = list(range = c(0, max(df_test$daysPassed, na.rm=T)),
title = "Days Passed",
zeroline = T,
autorange = F),
xaxis = list(
title = "",
showticklabels = TRUE
)
)