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

IPython运行Highcharts报$(...).highcharts is not a function错误如何解决

问题解决方案

报错原因

  • IPython/Jupyter 运行环境默认已内置 jQuery 库,代码中额外引入的 jQuery 与内置版本产生冲突。Highcharts 仅挂载到了额外引入的 jQuery 实例上,而初始化代码执行时调用的是环境内置的 jQuery 实例,因此找不到对应的 highcharts 方法
  • 外部脚本采用异步加载逻辑时,可能出现 Highcharts 及依赖模块未完成加载就执行初始化的时序问题

可运行的修改后代码

from IPython.display import HTML, display

statistics_html = """
<div id="container" style="min-width: 310px; height: 400px; margin: 0 auto"></div>
<script type="text/javascript">
// 检测Highcharts是否已加载,避免重复加载
if (typeof Highcharts === 'undefined') {
    // 动态加载Highcharts核心库
    const hcScript = document.createElement('script');
    hcScript.src = 'https://code.highcharts.com/highcharts.js';
    hcScript.onload = () => {
        // 加载导出模块后再初始化图表
        const exportScript = document.createElement('script');
        exportScript.src = 'https://code.highcharts.com/modules/exporting.js';
        exportScript.onload = initChart;
        document.head.appendChild(exportScript);
    };
    document.head.appendChild(hcScript);
} else {
    initChart();
}

// 图表初始化逻辑
function initChart() {
    $('#container').highcharts({
        chart: {
            type: 'spline'
        },
        title: {
            text: '示例折线图'
        },
        series: [{
            name: '测试数据',
            data: [1, 3, 2, 4, 5, 3, 6]
        }]
    });
}
</script>
"""
display(HTML(statistics_html))

核心修改说明

  • 移除了重复引入的 jQuery、Bootstrap 脚本,直接复用 IPython 环境内置的 jQuery 实例,彻底解决版本冲突问题
  • 改为动态加载 Highcharts 及依赖模块,通过 onload 回调保证所有依赖加载完成后再执行初始化逻辑,避免时序问题
  • 补充了基础的图表配置与测试数据,避免空配置导致的渲染异常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 02:57:03