Допустим, у меня есть такие данные, и я хочу построить их с помощью фреймов. Я также хотел бы добавить к каждому кадру фотографию товара, чтобы было известно, как она выглядит. Я пытаюсь использовать lo go решение, но это stati c по всем кадрам. Здесь в примере смотрите изображение яблока в верхнем левом углу, я хотел бы, чтобы оно было разным для каждого кадра.
Знаете ли вы, как сделать его динамическим c при смене кадра?
data <- data.frame(product = c(rep("product_1", 10),
rep("product_2", 10),
rep("product_3", 10)),
size = c(rep(1:10, 3)),
scenario_1 = c(runif(30, 0, 1)),
scenario_2 = c(runif(30, 0, 1)),
scenario_3 = c(runif(30, 0, 1)))
cols_to_plot <- c("scenario_1",
"scenario_2",
"scenario_3")
plot <- plotly::plot_ly()
for(k in 1:length(cols_to_plot)) {
data_k <- data.frame(scenario = data[[cols_to_plot[k]]],
size = data$size,
product = data$product) %>%
dplyr::mutate(scenario = tidyr::replace_na(scenario, 0))
plot <- plotly::add_trace(plot,
y = ~scenario,
x = ~size,
frame =~product,
data = data_k,
type="scatter",
mode="lines",
name = cols_to_plot[k])
}
plot %>%
plotly::animation_opts(1000,
easing = "elastic",
redraw = TRUE) %>%
plotly::layout(
title = paste(title),
images = list(
source = "https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcQ0gg14eWlJdTfMs27Ec2JqnnE8lI4I40-XJ_1dQoxv498Oq_Nh",
xref = "paper",
yref = "paper",
x= 0,
y= 1,
sizex = 0.2,
sizey = 0.2,
opacity = 0.8))