2017-06-04 54 views
1

我已经从for循环创建了一个数组(myData)并将其存储在一个变量中,但是我无法通过highcharts绘制数据。将数组从js循环传递给highcharts系列数据

我添加了一个包含数字(即不是通过for循环)的数组(arr)来测试,它在使用这个数组时是有效的。

http://jsfiddle.net/o22uk7Lb/

HTML实例

myData<p id="demo"></p> 
arr<p id="demo2"></p> 

<div id="container" style="min-width: 310px; max-width: 800px; height: 400px; margin: 0 auto"></div> 

的Javascript

var mp = 300; 
var yp = (mp * 12); 
var year = new Array(12); 
var myData = []; 
for (var i = 1; i <= year.length; i++){ 
    myData += (i * yp.toFixed(2)) + ","; 
}; 
document.getElementById("demo").innerHTML = myData; 

var arr = [100,200,300,400,500]; 
document.getElementById("demo2").innerHTML = arr; 
Highcharts.chart('container', { 
    chart: { 
     type: 'column' 
    }, 

    plotOptions: { 
     bar: { 
      dataLabels: { 
       enabled: true 
      } 
     } 
    }, 
    series: [{ 
     data: myData 
    },] 
}) 

回答

1

您的循环不填充一个数组,它创建一个字符串。

试试这个:

for (var i = 1; i <= year.length; i++){ 
    myData.push(i * yp.toFixed(2)); 
}; 

Updated fiddle