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

Symfony3.2+ObHighchartsBundle同一页面多图表展示问题

在Symfony 3.2 + ObHighchartsBundle中展示多个图表的解决方案

嘿,我来帮你搞定这个多图表展示的问题!你现在只显示出一个图表,核心原因是chart()函数默认会把图表渲染到页面中第一个匹配的容器里,所以得明确给每个图表指定对应的目标div ID。

解决步骤

  1. 确认控制器传参正确:确保你的控制器已经成功创建了statMontant和statEva两个图表实例,并且都传递到了当前模板中。
  2. 修改模板中的图表渲染代码:给chart()函数添加第二个参数,指定每个图表要渲染到的容器ID。

修改后的完整页面代码

<div class="col-sm-6 col-lg-6">
    <div id="linechart" style="min-width: 400px; height: 400px; margin: 0 auto"></div>
</div>
<div class="col-sm-6 col-lg-6">
    <div id="linechart2" style="min-width: 400px; height: 400px; margin: 0 auto"></div>
</div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<script src="//code.highcharts.com/4.1.8/highcharts.js"></script>
<script src="//code.highcharts.com/4.1.8/modules/exporting.js"></script>
<script type="text/javascript">
    {{ chart(statMontant, 'linechart') }}
    {{ chart(statEva, 'linechart2') }}
</script>

额外注意事项

  • 检查两个图表的配置是否独立,避免出现全局Highcharts选项冲突的情况
  • 确保jQuery和Highcharts脚本的加载顺序正确(你当前的顺序没问题,先加载jQuery再加载Highcharts)
  • 如果还是无法显示第二个图表,可以打开浏览器的开发者工具(F12)查看控制台是否有JS报错,比如容器不存在、图表配置错误等问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:24:58