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函数但是我很确定这是问题的根源..帮助!