首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >visNetwork不显示在面板div中

visNetwork不显示在面板div中
EN

Stack Overflow用户
提问于 2017-05-26 15:47:38
回答 1查看 609关注 0票数 1

我已经开始使用shinyLP来生成html元素,并使用visNetwork制作网络图。我注意到,如果将visNetwork放置在井口面板或根本没有面板中,则会显示得很好。但是,当它放在面板div中时,无论是使用shinyLP还是通过原始的HTML,它都不会显示。简单地说,我只是显示了不存在于面板中和处于面板div之间的代码区别。有人知道如何使visNetwork出现在这个特定的容器类型中吗?,我想使用这个容器类型,因为我希望保持这个容器的样子,而不是只为这个容器改变事情。有人知道这个问题的原因吗?

当visNetworkOutput不在面板中时,这是可行的。

代码语言:javascript
复制
library(shinyLP)
library(visNetwork)

ui <- fluidPage(

visNetworkOutput("network")

)

server <- function(input, output) {

    output$network <- renderVisNetwork({
    # minimal example
        nodes <- data.frame(id = 1:3)
        edges <- data.frame(from = c(1,2), to = c(1,3))

        visNetwork(nodes, edges)
    })
}

shinyApp(ui, server)

当visNetworkOutput在面板中时,这将无法显示。

代码语言:javascript
复制
ui <- fluidPage(

    panel_div("default", "", visNetworkOutput("network"))

)

server <- function(input, output) {

    output$network <- renderVisNetwork({
        # minimal example
        nodes <- data.frame(id = 1:3)
        edges <- data.frame(from = c(1,2), to = c(1,3))

        visNetwork(nodes, edges)
    })
}

shinyApp(ui, server)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-27 00:01:18

它是shinyJS版本1.1.0中的一个bug。我找到了一个(尴尬的)解决办法,并将其作为一个bug发布在htmlwidgets中,Joe看到了它,并在大约10分钟内修复了它。棒极了..。

下面是具有更好解决方法的代码(pandel_div的新定义):

代码语言:javascript
复制
library(shiny)
library(shinyLP)
library(visNetwork)

# override the currently broken definition in shinyLP version 1.1.0
panel_div <- function(class_type, panel_title, content) {
  div(class = sprintf("panel panel-%s", class_type),
      div(class = "panel-heading",
          h3(class = "panel-title", panel_title)
      ),
      div(class = "panel-body", content)
  )
}

ui <- fluidPage(
  panel_div("default", "panel1",visNetworkOutput("network")  )
)

server <- function(input, output) {

  output$network <- renderVisNetwork({ 
    # minimal network
    nodes <- data.frame(id = 1:3)
    edges <- data.frame(from = c(1,2), to = c(1,3))
    visNetwork(nodes,edges) 
  })

}
shinyApp(ui, server)

看上去就是这样:

更新:尝试了另一个htmlwidget包(sigma),并得到了相同的行为。因此,将其归档为htmlwidget bug:div htmlwidget问题

更新: JC将其标识为shinyJS错误。改变了我的解决方案,以反映他的建议。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44205545

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档