2016-08-11 56 views
0

我想添加一個for循環以便將數據循環到我的Google Chart。下面的代碼顯示了我有多遠。將一個for循環添加到Google Charts的折線圖中

var line_div = '2016-08-04,4|2016-08-05,7|2016-08-06,9|2016-08-07,2'; 
var line = line_div.split(/[,|]/); 
var array_dt = line.filter((x,i) => (i%2!==0)); 
var array_s = line.filter((x,i) => (i%2===0)); 

var line_data = google.visualization.arrayToDataTable([ 
    ['Date', 'Log'], 
    ['2016-08-04', 134] 
]); 

以下是我如何嘗試過。虛線部分是我無法弄清楚如何管理它工作的地方。而且我知道我做錯了,但我不知道任何其他解決方案。

var line_data = google.visualization.arrayToDataTable([ 
    for(var i = 0; i < line.length; i++) { 
     ['Date', 'Log'], 
     [...] 
    } 
]); 

我該如何做到這一點?

+0

我不知道你想達到什麼之前構建陣列...你可以發佈一個例子應該如何看看循環以及之前的樣子? – Anokrize

+0

我試圖通過for循環從'line_div'循環數據。以下是循環後的外觀:https://developers.google.com/chart/interactive/docs/gallery/linechart#curving-the-lines。它如何看待之前? – Erik

回答

1

你需要傳遞給arrayToDataTable

google.charts.load('current', { 
 
    callback: function() { 
 
    var line_div = '2016-08-04,4|2016-08-05,7|2016-08-06,9|2016-08-07,2'; 
 
    var line = line_div.split(/[,|]/); 
 
    var array_dt = line.filter((x,i) => (i%2!==0)); 
 
    var array_s = line.filter((x,i) => (i%2===0)); 
 

 
    var dataRows = [['Date', 'Log']]; 
 
    for (var i = 0; i < array_s.length; i++) { 
 
     dataRows.push([array_s[i], parseFloat(array_dt[i])]); 
 
    } 
 

 
    var line_data = google.visualization.arrayToDataTable(dataRows); 
 

 
    var chart = new google.visualization.LineChart(document.getElementById('chart_div')); 
 
    chart.draw(line_data); 
 
    }, 
 
    packages: ['corechart'] 
 
});
<script src="https://www.gstatic.com/charts/loader.js"></script> 
 
<div id="chart_div"></div>

+0

非常好!它確實幫助:)非常感謝! – Erik

相關問題