Пользовательская кнопка для отображения аннотаций в R сюжетно - PullRequest
0 голосов
/ 21 апреля 2020

Проблема: У меня есть график ниже, и я хочу добавить две кнопки. Один должен показывать аннотации (annot_ex), а другой должен отображать диаграмму без annot_ex, но с аннотациями из слоя add_annotations. Возникают две проблемы: 1. не работает Text для отображения аннотаций 2. кнопка reset также удаляет аннотации из add_annotations layer

Есть идеи, что изменить? Большое спасибо!

Примечание: Я не хочу включать атрибут clicktoshow, так как хочу использовать эту диаграмму в блестящем приложении в сочетании с событием нажатия.

library(data.table)
library(plotly)

dt <- data.table(
  x = c("a", "b", "c", "d", "e"),
  y = c(2 , 5, 2, 1, 8),
  z = c(12, 14, 19, 23, 0)
)

annot_ex <- list(
  x= ~x,
  y= ~max(y) + 0.25, 
  text=~paste(
    "<b>Bold text</b><br>",
    "Hop:", x ,
    "Top:",y,
    "z:", z
  ),
  showarrow = FALSE)

plot_ly(dt,
        x = ~x) %>% 
  add_bars(y = ~y,
           text = ~paste("y-Values:", y, " z-Values:", z),
           hoverinfo = "text") %>% 
  add_annotations(x = ~x,
                  y = ~y + 0.25,
                  text = ~y,
                  showarrow = FALSE) %>% 
  layout(updatemenus = list(
           list(
             active = -1,
             type= 'buttons',
             buttons = list(
               list(
                 label = "Text",
                 method = "update",
                 args = list(list(visible = c(FALSE, TRUE)),
                             list(annotations = list(c(), annot_ex)))),
               list(
                 label = "Reset",
                 method = "update",
                 args = list(list(visible = c(TRUE, TRUE)),
                             list(annotations = list(c(), c()))))
             )
           )
  ))
...