Цель кода - создать блестящее приложение, использующее сюжет. Мы хотим, чтобы информация для каждой линии трассировки отображалась в единственном шаблоне hovertemplate для любой заданной точки вдоль оси x. Например, три линии трассировки в диаграмме рассеяния в единственном числе (mode = 'lines + markers'), и когда пользователь помещает курсор в точку рассеяния в единственном числе, текст при наведении курсора дает им оценки по каждому из трех графиков для этого x- ценность.
В приведенном ниже примере мы используем реактивную функцию Data () в качестве данных для одного участника, который был предварительно задан в коде конца сервера. variable1, variable2 и variable3 являются столбцами из Data (), которые мы наносим на график рассеяния. Ни у одного решения не будет особой спецификации ховертекста, в отличие от 3 отдельных ниже.
Мы хотим, чтобы шаблон hovertemplate / hovertext выглядел примерно так:
Вот ваши оценки
переменная 1 = XXX
переменная 2 = XXX
переменная 3 = XXX
Для продвинутых точек: линия вертикали, появляющаяся при наведении курсора на точку данных, идущую сверху вниз на графике в этой точке данных, Выглядит хорошо.
output$distPlot <- renderPlotly({
plot_ly() %>%
add_trace( # trace for variable 1
type = 'scatter',
mode = 'lines+markers',
x = Data()$Sys.time # take the time variable from data() for x
y = Data()$variable1, # Plot variable1
hovertemplate = paste(
"<b>Here are your scores</b><br><br>",
"variable1: y <br>",
"variable2: plot2$y <br>", # placeholder for solution
"variable3: plot3$y <br>", # placeholder for solution
"<extra></extra>"
),
showlegend = TRUE
) %>%
add_trace( # trace for variable 2
type = 'scatter',
mode = 'lines+markers',
x = Data()$Sys.time # take the time variable from data() for x
y = Data()$variable2, # Plot variable2
hovertemplate = paste(
"<b>Here are your scores</b><br><br>",
"variable1: plot1$y <br>", # Placeholder for solution
"variable2: y <br>",
"variable3: plot3$y <br>", # Placeholder for solution
"<extra></extra>"
),
showlegend = TRUE
) %>%
add_trace( # trace for variable 3
type = 'scatter',
mode = 'lines+markers',
x = Data()$Sys.time # take the time variable from data() for x
y = Data()$variable3, # Plot variable3
hovertemplate = paste(
"<b>Here are your scores</b><br><br>",
"variable1: plot1$y <br>", # Placeholder for solution
"variable2: plot2$y <br>", # Placeholder for solution
"variable3: y <br>",
"<extra></extra>"
),
showlegend = TRUE
)
}) # Close plot