Создайте пустой график Plotly с заголовком, который НЕ показывает заголовок, но полностью пуст в блестящем приложении R - PullRequest
0 голосов
/ 13 июля 2020

Я пытаюсь показать один график, когда данные доступны, и временный график с заголовком «График недоступен», но не могу заставить это работать. Я прочитал здесь одну ветку с полезной информацией о пустом графике с центрированным заголовком, но не смог решить проблему в блестящем приложении. Есть предположения? Заранее спасибо!

Вот код, который я пытался использовать на блестящем сервере.

  observeEvent(input$selected_city, {
    if(input$selected_city %in% scenario$place)
    {
  output$Scenario <-
    renderPlotly({
      legendtitle <- list(text=paste0("<b>City: ",test_sc()$place),font=list(size=11, 
      test_sc <- plot_ly(test_sc(), width=700,height=550) 
      test_sc <- add_lines(test_sc,x=~date,y=~incc,color=I('blue'),name='actual',showlegend=F)
    })
  }
  else{
    output$Scenario <-
      renderPlotly({
          p <- plotly_empty(test_sc(),type = "scatter", mode = "markers") %>%
          layout(title = list(
              text = 'Sorry! The graph is not available for this city!',
              yref = "paper",
              xref= "paper",
              x = 0.5,
              y = 0.5
            )
          )
          return(p)
          })
  }
 

1 Ответ

1 голос
/ 13 июля 2020

Вместо обработки предупреждающего сообщения внутри plotly вы можете использовать validate для вывода предупреждающего сообщения в UI, когда график недоступен:

observeEvent(input$selected_city, {
    output$Scenario <-
    renderPlotly({
      validate(need(input$selected_city %in% scenario$place, "Sorry! The graph is not available for this city!"))
      ... # the plotly code
    })
})

введите описание изображения здесь

...