D3partitionROutput对变化的输出无反应

时间:2017-08-04 23:13:45

标签: r shiny htmlwidgets

D3partitionR对分层和顺序数据有一些很棒的可视化,但它似乎在Shiny中有一个重大缺陷。

D3partitionROutput函数(& renderD3partitionR)在更新输出对象时不会更新绘制的对象。

这些函数在首次执行图形时非常有效,但绘制的对象无法被反应更新。

有没有人知道修复或解决方法,因为我真的很喜欢这个包的可视化?

library(shiny)
library(D3partitionR)

path_in=list(list("A","B","C","D"),list("A","B","F","G"),list("A","D"),list("A","B","END"))
value_in=c(15,29,21,34)

# Define UI for application that draws a histogram
ui <- fluidPage(

   # Application title
   titlePanel("Old Faithful Geyser Data"),

   # Sidebar with a slider input for number of bins 
   sidebarLayout(
      sidebarPanel(
         selectInput("type_in",
                     "Plot type:",
                     choices = c('circleTreeMap', 'partitionChart', 'treeMap')
         )
      ),

      # Show a plot of the generated distribution
      mainPanel(
        D3partitionROutput("part_out")
      )
   )
)

# Define server logic required to draw a histogram
server <- function(input, output) {

   output$part_out <- renderD3partitionR({
     type = input$type_in
     D3partitionR(data=list(path=path_in,value=value_in)
                  , type = type)
   })
}

# Run the application 
shinyApp(ui = ui, server = server)

更新: 我在Rwordcloud中发现了一个类似的错误here,它通过修改Rwordcloud.js中的“render”函数来解决。我查看了D3partitionR.js中的renderValue,函数没有输入'instance'(就像在Rwordcloud.js中那样),所以它似乎不知道何时删除/刷新renderValue。我是一个R家伙(并且没有js经验)所以我不知道如何在D3partitionR.js中更改renderValue函数但是我很确定这是问题的根源..帮助!

0 个答案:

没有答案