2016-05-30 145 views
2

我已经把两个图表放在一个页面上。第一个图表(分散)使用Highcharts创建,第二个图表(线)使用Highstock创建。由于Highcharts包括在Highstock所以我用这个:如何将两个图表放在与不同模块相同的页面上?

<script src="resources/chart/Highstock/js/highstock.js"></script> 
<script src="resources/chart/Highstock/js/modules/exporting.js"></script> 

我的网页的部分看起来像这样:

<script src="resources/chart/Highstock/js/highstock.js"></script> 
<script src="resources/chart/Highstock/js/modules/boost.js"></script> 
<script src="resources/chart/Highstock/js/modules/exporting.js"></script> 

<script type="text/javascript"> create the chart using the highcharts and put it in a containerForHighchart </script> 
<script type="text/javascript"> create the chart using the highstock and put it in a containerForHighstock </script> 

<div id="containerForHighchart" style="height: 700px; width: 100%; margin: 0 auto;"></div> 
<div id="containerForHighstock" style="height: 700px; width: 100%; margin: 0 auto;"></div> 

现在:我想实现这样的事情:

  • 第一个图表(高图)应该使用boost.js模块。
  • 第二个图表(highstock)不应该使用boost.js模块。

为什么?由于性能和一些错误。两个图表都必须显示大量数据。和

  • highstock的图表载入速度很慢,大部分时间都在浏览器告诉我,该页面不响应在:

    当我使用boost.js,把只有一个图表在页面上结束我只能看到没有图表的导航器;

  • 高图表加载速度很快。

当我不使用boost.js,把只有一个图表页面上:

  • highstock的图表加载速度快;
  • 高图的图表加载时间过长,速度很慢。

有什么办法可以在同一页上使用boost.js模块吗?

+3

boost.js文件覆盖Highcharts的一些方法,所以你不能选择图表是否应该通过boost来内置。无论如何,这是一个好主意,所以我建议您将您的建议发布到我们的用户发言中:https://highcharts.uservoice.com –

+0

感谢您的反馈。我会做的。顺便说一句:没有'boost.js'模块运行速度与Highcharts的'boost.js'模块散点图一样快吗?来自Highstock的'boost.js'模块的散点图运行非常缓慢(我阅读了有关设置选项的建议[此处](https://github.com/highcharts/highcharts/blob/master/js/modules/boost。 src.js),但图表仍然工作不正常,如果我不使用'boost.js'模块(在我的情况下,'dataGrouping'选项必须为false),它运行速度非常缓慢 – Robert

回答

1

您可以尝试的一种解决方案是将图表放在单独的网页中(单独使用),并使用标签将它们放在一个HTML文档中。这样,你可以控制哪个图表得到哪些库,而且它们不应该相互冲突。

+0

感谢您的回答。事实上,我使用JSF和CDI bean作为控制页面的控制器(视图范围),这个bean非常重要,因为我需要显示数据,数据从某种形式发送到bean。我没有告诉它,因为我不认为这是必要的。'