You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R Shiny中使用Highcharter的hw_grid无法显示图表求助

解决Shiny中highcharter hw_grid图表不显示的问题

问题出在hw_grid()的返回值类型上:它生成的是包含多个Highcharts图表的HTML容器,并非单个Highchart对象,所以用renderHighchart()和highchartOutput()这套针对单个图表的渲染逻辑行不通,得换成动态UI渲染的方式。

修改后的完整代码如下:

library(highcharter)
library(shiny)
library(shinydashboard)

ui <- dashboardPage(
  dashboardHeader(title = "hw_grid in shiny", titleWidth  = 500),
  dashboardSidebar(width = 150),
  dashboardBody(
    # 替换为uiOutput,用于渲染动态生成的HTML内容
    uiOutput("distPlot")
  )
)

server <- function(input, output) {
  # 替换为renderUI,直接返回hw_grid生成的组件
  output$distPlot <- renderUI({
    charts <- lapply(1:9, function(x) {
      hchart(ts(cumsum(rnorm(100))))
    })
    hw_grid(charts, rowheight = 300)
  })
}

shinyApp(ui = ui, server = server)

关键修改点

  • UI层:把highchartOutput换成uiOutput,因为hw_grid输出的是HTML组合内容,需要通用的UI输出容器来承载
  • Server层:把renderHighchart换成renderUI,直接返回hw_grid生成的HTML组件,让Shiny负责渲染整个容器

这样修改后,多张图表就能在Shiny界面里正常显示了。

内容的提问来源于stack exchange,提问作者Fisseha Berhane

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 16:22:09