0
我試圖創建一個函數來更改Google圖表散點圖中的數據,但是當我調用該函數時圖表不會更改。繼承人代碼:Javascript谷歌圖表更改數據
<script type="text/javascript">
var years = [2001, 2002, 2003, 2004, 2005];
var sales = [1, 2, 3, 4, 5];
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
var data;
var options;
var chart;
function drawChart() {
data = new google.visualization.DataTable();
data.addColumn('number', 'years');
data.addColumn('number', 'sales');
for(i = 0; i < years.length; i++)
data.addRow([years[i], sales[i]]);
options = {
title: 'Age vs. Weight comparison',
hAxis: {title: 'Age', minValue: 0, maxValue: 1},
vAxis: {title: 'Weight', minValue: 0, maxValue: 1},
legend: 'none'
};
chart = new google.visualization.ScatterChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
$(document).ready(function(){
changeData();
});
function changeData()
{
data.addRow(10, 10);
chart.draw(data, options);
}
</script>
謝謝,任何想法如何我可以在初始setOnLoadCallback被調用後的某個點自動調用此函數?我試着將它設置爲body的onload函數,但它沒有奏效。 – Lukesmith
一個選項是使用'setTimeout()',它會在一段時間後調用'changeData()'。 500毫秒可能就足夠了。 –
另一種選擇是重新排列代碼並將其大部分移到主體部分。查看更新[在jsbin上的示例](http://jsbin.com/xisoz/2/edit)。 –