Индикатор выполнения не отображается с сетью D3 и Shiny - PullRequest
0 голосов
/ 08 февраля 2019

У меня есть некоторые проблемы с индикаторами выполнения в Shiny и пакете networkD3.Индикатор выполнения отображается нормально, не пытаясь отобразить диаграмму из этого пакета.Если попытаться использовать индикатор выполнения и пакет networkD3, индикатор отображается один раз, но не при последующих вызовах.Я тестировал в Chrome.Вот минимальный пример кода:

require(shinyjs)
require(shiny)
require(networkD3)
require(jsonlite)

ui <- function(){
  fluidPage(
    fluidRow(
      column(width = 12, style = "margin: 0px; padding: 0px;",
             box(title = "Flow Diagram", status = "primary", solidHeader = F, width = 7,
                 sankeyNetworkOutput("sankeyFlow", width = "100%", height = "500px")
             )
      ), 
      sliderInput("numLanes", label = "Number of Top Lanes", min = 0, max = 30, value = 10)
    )
  )
}

server <- function(input, output, session) {

  observeEvent(c(input$numLanes), {
    withProgress(message = "Wait...", value = NULL, {
      Sys.sleep(1.0)
    })
  })

  output$sankeyFlow <- renderSankeyNetwork({
    print("sankey")

    withProgress(message = "Updating flow diagram...", value = NULL, {

      # Load energy projection data
      URL <- "https://cdn.rawgit.com/christophergandrud/networkD3/master/JSONdata/energy.json"
      Energy <- jsonlite::fromJSON(URL)

      nLanes <- input$numLanes

      plot <- sankeyNetwork(Links = Energy$links, Nodes = Energy$nodes, Source = "source",
                                  Target = "target", Value = "value", NodeID = "name",
                                  units = "TWh", fontSize = 12, nodeWidth = 30)
      return(plot)
    })
  })
}

shinyApp(ui = ui, server = server)

Может быть, кто-то знает, почему это происходит, и возможный обходной путь.В моем случае я использую несколько индикаторов выполнения, и они не отображаются, если я включаю диаграмму потока.

Спасибо, Кристиан

1 Ответ

0 голосов
/ 18 февраля 2019

Я почти уверен, что это конфликт / ошибка с тем, как networkD3 включает всплывающие подсказки с несколькими строками в sankeyNetwork().

см ... https://github.com/christophergandrud/networkD3/issues/250


ОБНОВЛЕНИЕ (2019-05-20)

Эта проблема была решена с помощью версии dev shiny и должна быть выпущена на CRAN, как только shiny v1.3.3.

...