html小部件之间的相互作用在r闪亮



我正在开发一个使用多个html小部件的r闪亮应用程序>。

这些小部件分别工作正常。但是,在同一页面中使用它们留下空白它们应该在哪里。

这是一个可复制的代码,显示该错误。评论图在UI中行,您会看到图出现并消失了。

我非常感谢您的帮助!

# libraries
library(shiny)
library(d3heatmap)
library(chorddiag)
library(networkD3)
# Server
server <- function(input, output) {
  # create heatmap
  output$heatmap <- renderD3heatmap({
    d3heatmap(mtcars, scale = "column", colors = "Spectral")
  })
  # create chord diagram
  output$chord <- renderChorddiag({
    m <- matrix(c(11975,  5871, 8916, 2868,1951, 10048, 2060, 6171, 8010, 16145, 8090, 8045,1013,   990,  940, 6907),
    byrow = TRUE, nrow = 4, ncol = 4)
    haircolors <- c("black", "blonde", "brown", "red")
    dimnames(m) <- list(have = haircolors, prefer = haircolors)
    groupColors <- c("#000000", "#FFDD89", "#957244", "#F26223")
    chorddiag(m, groupColors = groupColors, groupnamePadding = 20)
  })
  # create sankey
  output$sankey <- renderSankeyNetwork({
    nodes=data.frame(ID=c("A","B","C","D","E"))
    links=data.frame(source=c(1,2,3), target=c(3,4,4), value=c(12,15,29))
    sankeyNetwork(Links = links, Nodes = nodes, Source = "source", Target = "target", Value = "value", NodeID = "ID")
  })
}

# Ui
ui <- fluidPage(
  sidebarLayout(
    sidebarPanel("shiny shines"),
    mainPanel(
        # Comment these lines and you will see charts appear / disappear.
        d3heatmapOutput("heatmap"),
        chorddiagOutput("chord"),
        sankeyNetworkOutput("sankey")
    )
  )
)
shinyApp(ui = ui, server = server)

networkD3在2017年2月的0.3英寸中更新为D3V4,它与D3的V3版本不兼容,这是chorddiagd3heatmap似乎使用的。htmlwidgets是驱动上述软件包的基础软件包,仅使用依赖项的最新版本,因此使用同一库的相互冲突版本的htmlwidgets都无法正常工作。在此处查看有关此问题的讨论的起点。

您有一些可能的选择,尽管它们都不好...

  1. networkD3还原为版本&lt;0.3,以便它也使用d3v3

  2. chorddiag开发人员和d3heatmap开发人员的大厅升级到D3V4

  3. 游说htmlwidgets开发人员提出一种可靠的JavaScript依赖关系的强大方法

@cjyetman提供了3个处理此问题的选项。这是另外一个,尽管它仍然没有吸引力,但可能会更少的工作:将chorddiag中使用的库和d3heatmap中的库从d3重命名为其他内容,以便将D3的版本3(由这两个)和版本4(由networkD3使用)重命名。可以在同一页面上共存。

第一次通过chorddiag的通行证在这里:https://github.com/dmurdoch/chorddiag。它将库命名为d3_3。同样的更改似乎也适用于d3heatmap;请参阅https://github.com/dmurdoch/d3heatmap。

相关内容

  • 没有找到相关文章

最新更新