Google Chart API を使用して単純な面グラフをレンダリングする次のコードがありますが、AJAX 呼び出し (Python バックエンド) で動作させることができません。呼び出しからの戻り値 (統計) は次のとおりです。
[
['2012-09-17',1000,400],
['2012-09-18',1170,460],
['2012-09-19',660,1120],
['2012-09-20',1030,540]
]
私が得ているエラーは次のとおりです。
Uncaught Error: Argument given to addRows must be either a number or an array
間違っていると目立つものはありますか?JavaScriptオブジェクトの問題だと感じていますが、ここからどこに進むべきかわかりません。ありがとう!
以下は HTML/javascript です。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title></title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = new google.visualization.DataTable();
data.addColumn('string', 'Year');
data.addColumn('number', 'Quantity');
data.addColumn('number', 'Sales');
var options = {
title: 'Company Performance',
hAxis: {title: 'Year', titleTextStyle: {color: 'red'}},
legend: {position: 'in'},
};
$.ajax({
type: 'POST',
url: "/loaddata",
success: function(stats) {
var vals = stats;
data.addRows(vals);
var chart = new google.visualization.AreaChart(document.getElementById('chart_div'));
chart.draw(data, options);
},
});
}
</script>
</head>
<body>
<div id="chart_div" style="width: 800px; height: 450px;"></div>
</body>
</html>