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

R语言Highcharter加载Arc Diagram模块失败求助

解决Highcharter加载Arc Diagram模块失败的问题

错误原因分析

  1. hc_add_dependency参数使用错误:你之前将模块路径直接写在name参数中,highcharter会尝试从本地资源路径查找文件,而非Highcharts官方CDN,因此出现GET请求404错误。
  2. 模块加载顺序错误:之前在head中添加script标签时,Highcharts主库尚未完成加载,导致Arc Diagram模块无法找到依赖的Highcharts对象,初始化失败。

两种可行解决方案

方案1:调整UI中模块加载顺序

将Arc Diagram模块的script标签放在图表输出组件之后,确保主库先加载完成:

library(shiny)
library(highcharter)
library(tidyverse)
library(htmlwidgets)

# 示例数据
ex <- data.frame(
  source = c("A", "A", "B", "B", "C", "D", "D", "E"),
  target = c("B", "C", "C", "D", "D", "E", "F", "F"),
  value = c(10, 20, 15, 25, 10, 5, 20, 15)
)

ui <- fluidPage(
  # 先渲染图表输出,确保主库加载
  highchartOutput("achart", width = "100%", height = "50%"),
  # 后加载Arc Diagram模块
  tags$script(src = "https://code.highcharts.com/modules/arc-diagram.js")
)

server <- function(input, output) {
  output$achart <- renderHighchart({
    hchart(
      ex,
      "arcdiagram",
      hcaes(
        from = source,
        to = target,
        weight = value
      )
    ) %>%
      hc_chart(height = "80%")
  })
}

shinyApp(ui = ui, server = server)

方案2:正确使用hc_add_dependency

通过指定模块的CDN路径和文件名,让highcharter自动管理依赖加载顺序:

library(shiny)
library(highcharter)
library(tidyverse)
library(htmlwidgets)

# 示例数据
ex <- data.frame(
  source = c("A", "A", "B", "B", "C", "D", "D", "E"),
  target = c("B", "C", "C", "D", "D", "E", "F", "F"),
  value = c(10, 20, 15, 25, 10, 5, 20, 15)
)

ui <- fluidPage(
  highchartOutput("achart", width = "100%", height = "50%")
)

server <- function(input, output) {
  output$achart <- renderHighchart({
    hchart(
      ex,
      "arcdiagram",
      hcaes(
        from = source,
        to = target,
        weight = value
      )
    ) %>%
      hc_chart(height = "80%") %>%
      # 正确配置模块依赖参数
      hc_add_dependency(
        name = "arc-diagram",
        src = list(href = "https://code.highcharts.com/modules/"),
        script = "arc-diagram.js"
      )
  })
}

shinyApp(ui = ui, server = server)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 11:37:29