我有從JSON文件中提取數據,然後我有一個JavaScript文件繪製圖形。從JSON獲取價值到JavaScript
這裏是JSON文件:
這裏是我的JavaScript代碼來繪製圖形:
$(document).ready(function(){
google.charts.load('current', {'packages': ['corechart']});
//alert('aa00'~
$('.error').hide();
$(".buttonSala").click(function() {
// validate and process form here
$('.error').hide();
var canal = $("#canalSala option:selected").val();
var datai = $("#datainisala").val();
var dataf = $("#datafimsala").val();
//alert(canal);
// Send the data using post
var posting = $.post("getSala.php", { canal: canal, dataini: datai, datafim: dataf });
// Put the results in a div
posting.done(
function(data) {
// Set a callback to run when the Google Visualization API is loaded.
var jsonData = JSON.parse(data).channels[canal].values;
google.charts.setOnLoadCallback(function() {
var dataArray = [["ts", 'values']];
for (var i = 0; i < jsonData.length; i++) {
var tempArray = [jsonData[i].ts, parseFloat(jsonData[i].value.replace(",", "."))];
dataArray.push(tempArray);
}
// Create our data table out of JSON data loaded from server.
var data = google.visualization.arrayToDataTable(
dataArray
);
var options = {
hAxis: {title: "Data/Hora", titleTextStyle: {color: "#333"}},
vAxis: {title: "Temperatura", titleTextStyle: {color: "#333"}}
};
// Instantiate and draw our chart, passing in some options.
var chart = new google.visualization.AreaChart(document.getElementById('chart_divsala'));
chart.draw(data, options);
});
});
return false;
});
});
正如你所看到的圖表中畫出正確地將:
在這部分:
var dataArray = [['ts', 'values']];
它使用ts數據進行繪製,「值」出現在圖上,左側和線描述上。我如何訪問JSON proprety「chname」來使用該信息填充圖形描述?在這種情況下「oxigénio(%)沒有內部做pipo德馬德拉4」。
我用盡了一切,我不能讓它的工作......
它不工作,該圖沒有像畫那... – Emerenciana
我沒有注意到你正在用'jsonData = jsonData.channels [2] .values;'覆蓋'jsonData'。我更新的答案應該可以工作 – asemahle
仍然無法正常工作。我更新了我的腳本以匹配我更新的腳本,因爲我使用了一些變量來改變獲取json數據的curl。但其基本相同。而不是response.channels [2] .info.chname我嘗試了response.channels [canal] .info.chname,因爲那是包含當前運河的變量的名稱,但仍然沒有運氣@asemahle – Emerenciana