gpt4 book ai didi

r - R Shiny 中 html 小部件之间的交互

转载 作者:行者123 更新时间:2023-12-01 03:19:59 25 4
gpt4 key购买 nike

我正在开发一个使用多个 html 小部件的 R Shiny 应用程序,特别是 网络D3 , d3heatmap 和弦 .

这些小部件单独工作正常。但是,在同一页面中使用它们会留下 空格他们应该在哪里。

这是显示错误的可重现代码。在 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)

最佳答案

networkD3version 0.3 中更新到 D3v4 2017 年 2 月,与 v3 版本的 D3 不兼容,这就是 chorddiagd3heatmap出现使用。 htmlwidgets ,这是驱动上述包的底层包,仅使用最新版本的依赖项,因此使用相同库的冲突版本的 htmlwidgets 不能同时工作。查询 here作为讨论这个问题的起点。

您有几个可能的选择,尽管它们都不是很好...

  • 恢复 networkD3到版本 < 0.3,以便它也使用 D3v3
  • 大堂 chorddiag developers d3heatmap developers升级到 D3v4
  • 大堂 htmlwidgets developers想出一种强大的方法来处理冲突的 JavaScript 依赖项
  • 关于r - R Shiny 中 html 小部件之间的交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46270473/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com