我試圖使用Google的可視化API使用PHP腳本從數據庫返回的一些數據繪製圖表。我的數據格式爲JSON對象:Google區域圖中重複的一系列數據
jsonObject = {
"routes":[{
"name":"Route 0",
"chart":{
"x":[ /* array of x values */ ],
"y":[ /* array of y values */ ]
}
},{
"name":"Route 1",
"chart":{
"x":[ /* array of x values */ ],
"y":[ /* array of y values */ ]
}
}]};
我試圖繪製的jsonObject.routes
每個成員的圖表單獨使用下面的代碼:
function drawChart() {
var baseChart = jsonObject.routes[1].chart; // Want to manipulate this value to plot different sets of data
var chartData = [];
for (var g = 0; g < baseChart.x.length; g++) {
var dataPoint = {
c: [
{ v: baseChart.x[g] },
{ v: baseChart.y[g] },
]
};
chartData.push(dataPoint);
}
var dataJson = {
cols: [
{ role: "domain", type: "number", label: "Distance" },
{ role: "data", type: "number", label: "Main Route" },
],
rows: chartData
};
var dataTable = new google.visualization.DataTable(dataJson);
var chart = new google.visualization.AreaChart(document.getElementById('chart'));
var options = {};
chart.draw(dataTable, options);
}
然而,每當我試圖訪問後者的jsonObject.route
陣列的對象,它似乎也拉動數據在jsonObject.route
陣列中的每個對象之前。
我已經在底部包含一個帶有樣本數據集的小提琴的鏈接;當只繪製jsonObject.routes[0]
時圖表很好,但在試圖繪製jsonObject.routes[1]
時,它也會繪製jsonObject.routes[0]
的數據。
我懷疑這是更多的問題與我的Javascript代碼,而不是與谷歌的可視化API,但我一直拉着我的頭髮,並可以弄清楚爲什麼它從數組中的所有元素。非常感謝您的幫助!