2016-05-30 2 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.

Почему? Из-за производительности и некоторой ошибки. Обе диаграммы должны отображать много данных.

Когда я использую boost.js и поставить только одну диаграмму на странице:

  • диаграмма из highstock загружается очень медленно, большую часть времени браузер сообщить мне, что страница не отвечает и на end Я могу видеть только навигатор без диаграммы;
  • график высокой скорости загрузки быстро.

Когда я не использую boost.js и поставить только один график на странице:

  • диаграмма из highstock загружает быстро;
  • Карточка Highchart загружается слишком долго и очень медленно.

Есть ли способ использовать только одну из двух диаграмм, используя модуль boost.js на той же странице?

+3

Файл boost.js перезаписывает некоторые методы из Highcharts, поэтому вы не можете выбрать, следует ли строить диаграмму с помощью boost или нет. В любом случае, это хорошая идея, поэтому я советую вам опубликовать ваше предложение в нашем uservoice здесь: https://highcharts.uservoice.com –

+0

Спасибо за ваши отзывы. Я сделаю это. BTW: Есть ли какой-либо способ для диаграммы разброса с Highstock без модуля 'boost.js' работать так же быстро, как диаграмма рассеяния из Highcharts с модулем' boost.js'? Диаграмма рассеяния из Highstock с модулем 'boost.js' выполняется очень медленно (я прочитал советы по настройке параметров [здесь] (https://github.com/highcharts/highcharts/blob/master/js/modules/boost. src.js), но диаграмма все еще работает плохо. Она работает очень медленно, если я не использую модуль 'boost.js' (в моем случае опция' dataGrouping' должна быть ложной). – Robert

ответ

1

Одним из решений, которое вы можете попробовать, является размещение диаграмм на отдельных веб-страницах (отдельно) и использование тегов , чтобы разместить их как в одном документе HTML. Таким образом, вы можете контролировать, какая диаграмма получает библиотеки, и они не должны конфликтовать друг с другом.

+0

Спасибо за ваш ответ Действительно, я использую JSF и компонент CDI в качестве контроллера (область представления), который контролирует мою страницу. Этот компонент очень важен, потому что есть мои данные, которые я должен отображать. Данные отправляются в bean-компонент из какой-либо формы. Я не говорил об этом, потому что не думал, что это будет необходимо. Тег '