r 调整d3heatmap / renderUI / shinydashboard / DT的大小

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了r 调整d3heatmap / renderUI / shinydashboard / DT的大小相关的知识,希望对你有一定的参考价值。

library(shiny)
library(d3heatmap)
library(shinydashboard)
library(DT)

ui <- dashboardPage(
  dashboardHeader(title="resizing d3heatmap"),
  dashboardSidebar(
    sliderInput("obs", "Number of rows:", min = 10, max = 100, value = 50)
  ),
  dashboardBody(
    tabBox(
      tabPanel("Data",DT::dataTableOutput("dt")),
      tabPanel("Heatmap",uiOutput("hm_o"))
    )
  )
)

server <- function(input, output) {
  dat <- reactive({ 
    matrix(rnorm(input$obs*4),ncol=4) 
  })

  output$dt <- DT::renderDataTable({ DT::datatable(as.data.frame(dat())) })

  output$hm_o <- renderUI({
    d3heatmap::d3heatmapOutput('hm',width="50%", height=paste0(50+length(input$dt_rows_current)*10,"px"))
  })

  output$hm <- renderD3heatmap({
    d3heatmap(dat()[input$dt_rows_current,], Colv=FALSE,
              colors=colorRampPalette(c("blue", "white", "red"))(100))
  })
}

shinyApp(ui = ui, server = server)

以上是关于r 调整d3heatmap / renderUI / shinydashboard / DT的大小的主要内容,如果未能解决你的问题,请参考以下文章

r 示例使用shinydashboard中的renderUI动态调整d3heatmap的大小

R Shiny - 将tabPanel动态添加到tabsetPanel(使用renderUI)

如何在R Shiny中使用renderUI触发renderDataTable进行输入?

在R闪亮中,如何在不使用renderUI的情况下首次调用应用程序时消除侧边栏中所有条件面板的闪烁?

shinyjs 不会隐藏使用 renderUI 创建的按钮

使用 Shiny `renderUI` 时无法运行 JavaScript 代码