【发布时间】:2018-02-26 11:17:00
【问题描述】:
我正在开发一个使用多个 html 小部件的 R 闪亮应用程序,特别是 networkD3、d3heatmap 和 chorddiag。
这些小部件可以单独工作。但是,在同一页面中使用它们会在它们应该在的位置留下一个空白。
这是一个显示错误的可重现代码。在 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)
【问题讨论】:
-
似乎包“chorddiag”不可用(适用于 R 版本 3.4.1)...
-
@Samuel:可以使用开发工具安装 Chorddiag 库:
devtools::install_github("mattflor/chorddiag")。感谢您的帮助! -
我可以同时看到
heatmap和chord。仅添加sankey会使页面变为空白。 -
chorddiag github 页面上有一个与此问题相关的未解决问题:github.com/mattflor/chorddiag/issues/18
标签: r shiny htmlwidgets networkd3 d3heatmap