【问题标题】:Updating rCharts nvd3 chart in Shiny dashboard在 Shiny 仪表板中更新 rCharts nvd3 图表
【发布时间】:2015-12-25 13:40:19
【问题描述】:

我已经构建了一个闪亮的仪表板应用程序,它显示了大学学院科学文章的一些指标数据。该应用程序位于 https://ttso.shinyapps.io/2amconf 和代码 https://gist.github.com/tts/900b4e27bf37e8969ebd 以及文件 dataforcharts.csv 的一些示例数据,这是我的问题的数据源。

我的问题是登陆选项卡上的 NVD3 图表。

首先,它会从所选学校中选出最多 2 个项目(=articles),这在开始时是 All。但是每当我选择某个学校时 - selectizeInput 然后更新该学校的项目列表 - 没有任何反应。

我试图调试发生了什么。

validate(
   need(!is.null(itemsData()), "Please select some items")
)

dataC <- itemsData() 

browser()

当执行在那里停止时,我可以看到 dataC 确实包含所选数据。

options(shiny.trace=TRUE)

控制台输出很健谈,但我无法真正理解它试图告诉我什么。这是图表应该使用新数据呈现但没有呈现的最后一条消息的 sn-p。

SEND {"errors":[],"values":{"chart":"<style>.rChart {width: 800px;
height: 400px} </style>\n<script type='text/javascript'>\n
$(document).ready(function(){\n      drawchart()\n    });\n   
function drawchart(){  \n      var opts = {\n \"dom\":
\"chart\",\n\"width\":    800,\n\"height\":    400,\n\"x\":
\"id\",\n\"y\": \"value\",\n\"group\": \"variable\",\n\"type\":
\"multiBarChart\",\n\"id\": \"chart\" \n},\n        data = 
[ TEXT CUT OFF ] drawchart(){  \n   n       return chart;\n  
});\n    };\n</script>"},"inputMessages":[]}

同样,data= 包含正确的选择数据。

我的反应值有问题吗?

观察后编辑:如果我在切换到另一所学校之前删除所有选定的项目,这可行。

因此,经过反复试验,这看起来很有希望:

itemsData <- reactive({

  if( is.null(input$items) ){
   return(NULL)
  }

isolate(selectedSchoolData()[selectedSchoolData()$Title %in%
input$items, ])

})

但我还没有完全理解isolate(),所以如果有人能解释一下为什么这样有效,我将不胜感激。

【问题讨论】:

    标签: shiny nvd3.js rcharts


    【解决方案1】:

    我决定这样做。

     itemsData <- reactive({
    
      if( is.null(input$items) ){
       return(NULL)
     }
    
      isolate(selectedSchoolData()[selectedSchoolData()$Title %in%
       input$items, ])
    
    })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-20
      • 2020-01-19
      • 2020-06-13
      • 1970-01-01
      • 2015-07-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多