2013-12-07 2 views
0

Я пытаюсь отображать значения, которые я получаю динамически. В приведенном ниже коде я пытаюсь сохранить значения в массиве, и я пытаюсь использовать значения массива в «series: data». На графике ничего не отображается. Я знаю, что это очень простой вопрос, но я не получил удовлетворительного ответа, когда искал его. Пожалуйста, помогитеОтображение значений массива в гистограмме HighCharts

var x = window.location.search.replace("?", ""); 
     x = x.substring(3); 
     var array = x.split(","); // I am storing my dynamic values in this array 


$(function() { 
     //alert(array); ----- I am able to see the values here 
     $('#container').highcharts({ 
      chart: { 
       type: 'bar' 
      }, 
      title: { 
       text: 'Wireless Experience Meter' 
      }, 
      subtitle: { 
       text: 'Sub - Time to Download' 
      }, 
      xAxis: { 
       categories: ['Text'], 
       title: { 
        text: null 
       } 
      }, 
      yAxis: { 
       min: 0, 
       title: { 
        text: 'Time (ms)', 
        align: 'high' 
       }, 
       labels: { 
        overflow: 'justify' 
       } 
      }, 
      tooltip: { 
       valueSuffix: ' ms' 
      }, 
      plotOptions: { 
       bar: { 
        dataLabels: { 
         enabled: true 
        } 
       } 
      }, 
      legend: { 
       layout: 'vertical', 
       align: 'right', 
       verticalAlign: 'top', 
       x: -40, 
       y: 100, 
       floating: true, 
       borderWidth: 1, 
       backgroundColor: '#FFFFFF', 
       shadow: true 
      }, 
      credits: { 
       enabled: false 
      }, 
      series: [{ 
       name: 'Attempt 1', 
       //data: [635, 203, 200] 
       data : [array[0]] // I need to pass the variables here to get it displayed 
      }, { 
       name: 'Attempt 2', 
       //data: [133, 408, 698] 
       data : [array[1]] 
      }, { 
       name: 'Attempt 3', 
       //data: [973, 914, 4054] 
       data : [array[2]] 
      }] 
     }); 
    }); 

ответ

0

[array[0]] не является массивом, который выглядит как console выход не JavaScript. Но [[0]] или [0] технически будет. Однако, поскольку вызов массива (array(0)) генерирует массив, то я думаю, что вы хотите data: array(0).

Наружный снимок в data : [array(0)], если вы не представили данные примера правильно. Я никогда не использовал Highcharts, так что я не знаю, что это ожидалось, но я до сих пор идут с data : array(0)

2

Вы не говорите нам, что переменная array равно, но так как его генерируется из x.split(","), это элементы собираются быть строками а не числовые значения, которые необходимы для Highcharts.

Так преобразовать его с parseInt или parseFloat:

var numericData = []; 
for (var i = 0; i < array.length; i++){ 
    numericData.push(parseFloat(array[i])); 
} 
... 
series: [{ 
    name: 'Attempt 1', 
    data : numericData 
}, 
... 
Смежные вопросы