からデータを抽出し、私は、次のようなJSONを返すWeb APIを得た:それは私の各週の平均を返し、IDなど特定のパラメータ、たstartDate、endDateにしていGoogleのチャートAPI - 他のAPI
[
{
"Week": 27,
"Average": 9.42
},
{
"Week": 28,
"Average": 9.88
}
]
を指定された期間内の年。私が欲しいのは、このデータをGoogleのグラフAPIにロードして、私が入力したID、startDate、endDateのどんなIDでもチャートを生成することです。
<!DOCTYPE html>
<html>
<head>
<title>Implementing Google Chart</title>
<meta charset="utf-8" />
</head>
<body>
<div id="chartdetails_div" style="width:800px; margin:0 auto;">
ID: <br /> <input type="number" id="resultID" /> <br />
Start date:<br /> <input type="date" id="startdate" /><br />
End date: <br /> <input type="date" id="enddate" /><br />
<input type="button" value="Genereaza chart" id="generate" />
</div><br />
<div id="chart_div" />
<!--Load the AJAX API-->
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
google.charts.load('current', { packages: ['corechart', 'bar'] });
google.charts.setOnLoadCallback(drawBasic);
function drawBasic() {
var data = new google.visualization.DataTable();
data.addColumn('number', 'Week number');
data.addColumn('number', 'Mark average');
$('#generate').on("click", function() {
var uri = 'http://localhost:50492/questionnaires/' + $('#resultID').val() +
'/statistics/start=' + $('#startdate').val()
+ '/end=' + $('#enddate').val();
$.getJSON(uri, function (average) {
data.addRows(average);
});
});
var options = {
title: 'Mark Average Throughout The Datetime',
hAxis: {
title: 'Week number',
viewWindow: {
min: 0,
max: 52
}
},
vAxis: {
title: 'Mark average (scale of 1-10)'
}
};
var chart = new google.visualization.ColumnChart(
document.getElementById('chart_div'));
chart.draw(data, options);
}
});
</script>
</body>
</html>
グラフを生成するためにランダムなデータを使って修正しました。まったく同じ方法でUが提案しました、ありがとうございました! – Florin