2017-09-20 32 views
2

我正在嘗試使用谷歌圖表創建一個圖表,並將一些參數傳遞給該函數。我正在使用這些參數來填充數據。但它不起作用。是否有可能使參數,因爲我不知道google.charts.setOnCallback()方法內發生什麼函數?谷歌圖表 - 繪製可變參數圖表

google.charts.load('current', {'packages':['corechart']}); 
google.charts.setOnLoadCallback(drawChart); 

function drawChart(scoreForEachSkill, skillList) { 

var data = new google.visualization.DataTable(); 
data.addColumn('string','Skill'); 
data.addColumn('number','Score'); 
for(var i=0;i< scoreForEachSkill.length;i++) 
{ 
    data.addRow(skillList[i],scoreForEachSkill[i]); 
} 

var options = {'title':'Skills', 'width':610, 'height':390}; 
var chart = new 
google.visualization.PieChart(document.getElementById('pieChart')); 
chart.draw(data, options); 
} 

的HTML和CSS部分

<div id="pieChart" style="margin-left:-10px;margin-right:-10px;"></div> 

回答

1

負載回調不接受任何參數,
處理,只是用在功能之間的...

google.charts.load('current', { 
    packages: ['corechart'] 
}); 

google.charts.setOnLoadCallback(function() { 
    drawChart(score, skill); 
}); 

回調也可以直接放置在加載語句中...

google.charts.load('current', { 
    callback: function() { 
    drawChart(score, skill); 
    }, 
    packages: ['corechart'] 
}); 

注:回調只需要每次載入網頁時調用一次,
不是你想畫一個圖表,每次
,所以你可以做這樣的事情......

google.charts.load('current', { 
    callback: function() { 
    drawChart(score1, skill1); 
    drawChart(score2, skill2); 
    drawChart(score3, skill3); 
    }, 
    packages: ['corechart'] 
}); 
+0

是它確實幫了我很多。我堅持了這一段時間...謝謝你 – utkarsh