r dygraph和闪亮的模块

时间:2016-04-05 14:50:44

标签: r shiny dygraphs

我开始为我的UI和服务器使用闪亮的模块。我对dygraph图例的显示有一个特定的问题。

在使用闪亮模块之前,我可以在我的UI中显示图形和图例。我使用模块后停止工作。可能是dygraph的传说不是反应性输出吗?

没有闪亮的声音(有效)

...

tabPanel("Plot",dygraphOutput("plot1"),

    textOutput("legendDivID"))
...

dygraph服务器代码:

output$plot1 <- renderDygraph({

    dygraph(dfplot())%>% 
    dyLegend(labelsDiv = "legendDivID", labelsSeparateLines = T)%>% 
    dyRangeSelector()
  })

现在我构建了闪亮的模块

StockUI<-function(id, label= "aaa"){
  ns <- NS(id)#Named space
...
tabPanel("Plot",dygraphOutput(ns("plot1")),
                             textOutput(ns("legendDivID"))}

Stock <- function(input,output,session){
...
output$plot1 <- renderDygraph({dygraph(foo())%>% 
      dyLegend(labelsDiv = "legendDivID", labelsSeparateLines = T)%>% 
      dyRangeSelector()
  }) 
}

但是Legend不再显示,它在闪亮的模块之外工作正常。

1 个答案:

答案 0 :(得分:0)

用户界面中的legendDivId包含在ns内,因此它也应该包含在服务器中的ns内。服务器中的ns可以通过server$ns进行评估。这应该有效:

output$plot1 <- renderDygraph({dygraph(foo())%>% 
      dyLegend(labelsDiv = session$ns("legendDivID"), labelsSeparateLines = T)%>% 
      dyRangeSelector()
  })