2017-01-18 4 views
0

Я использую highcharts.js для отображения строки диаграммы с несколькими серии динамически из сервлета .Я хранения данных серии в массивах и пересекающих их следующим образом:нет модуля данных с несколькими серии в highcharts.js

     series: [{ 
         name: 'series1', 
         data: (function() { 
         var data = []; 

         for (var i = 0; i <= datePV.length; i ++) { 
          data.push([ 
           Date.parse(datePV[i]), 
           PVValues[i] 
          ]); 
         } 
         return data; 
        }()) 

        },.... 

Проблема заключается в том, что всякий раз, когда у одной из серий нет данных, вся диаграмма не отображает данные, пока не будут нажаты индивидуальные клики. Я хочу отображать все серии с данными, а серия без данных не должна перекрывать другие данные серии. Помогите.

+1

Можете ли вы обратиться к [Пример] (http://jsfiddle.net/nmnr2yo5/1/)? Я не вижу поведения, которое вы там описали. – morganfree

+0

@morganfree Да u r right. Я даже обновил эту скрипку http://jsfiddle.net/J5y2D/22/, чтобы узнать, есть ли проблема из-за временных рядов, но она работает нормально. Я не знаю, что я делаю неправильно. – JEECoder

ответ

0

Я изменил функцию набора данных для серии в высоких диаграммах и применил проверку if (datePV.length> 0) before for loop.It, похоже, сделал трюк и код работает нормально. окончательный код:

     series: [{ 
         name: 'PV', 
         data: (function() { 

         var data = []; 
         if(datePV.length>0) 
         { 
         for (var i = 0; i <= datePV.length; i ++) { 
          data.push([ 
           Date.parse(datePV[i]), 
           PVValues[i] 
          ]); 
         } 
         } 

         return data; 

        }()) 

Я надеюсь, что это поможет другим лицам, сталкивающимся с одной и той же проблемой.