networkD3 simpleNetwork在Shiny

时间:2017-04-24 13:14:11

标签: r shiny networkd3

我希望基于单击actionButton来渲染和重新渲染simpleNetwork图形。但是,出于某种原因,多次单击该按钮不会创建新的simpleNetwork实例,而是似乎使用缓存版本。如何通过多次点击让simpleNetwork图表完全重新渲染?

我在下面列举了一个例子以及问题的GIF:

.gif of issue

library(shiny)
library(networkD3)

server <- function(input, output, session) {
  
  data <- eventReactive(input$click, {
    src <- c("A", "A", "A", "A", "B", "B", "C", "C", "D")
    target <- c("B", "C", "D", "J", "E", "F", "G", "H", "I")
    networkData <- data.frame(src, target)
  })
  
  output$simple <- renderSimpleNetwork({
    simpleNetwork(data())
  })
  
}

ui <- fluidPage(titlePanel("networkD3 + Shiny"),
                
                sidebarLayout(
                  sidebarPanel(actionButton("click", "Render")),
                  
                  mainPanel(simpleNetworkOutput(
                    "simple", width = "100%", height = "700px"
                  ))
                ))

shinyApp(ui = ui, server = server)

1 个答案:

答案 0 :(得分:0)

已经报告here。它已使用PR #179修复,并在version 0.4 on CRAN中发布。确保您的networkD3包已更新。