Ich habe Daten aus einer JSON-Datei gezogen, und dann habe ich eine JavaScript-Datei, die ein Diagramm zeichnet. HierHolen Wert von JSON in JavaScript
ist die JSON-Datei:
Hier ist mein JavaScript-Code eine Grafik zu zeichnen:
$(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;
});
});
Wie Sie das Diagramm sehen kann, ist ziehen correcly:
In diesem Teil:
var dataArray = [['ts', 'values']];
Es nutzt die TS-Daten zu ziehen, und die „Werte“ ist das, was auf dem Diagramm angezeigt wird, auf der linken Seite, und auf der Linie Beschreibung. Wie kann ich auf die JSON-Property "chname" zugreifen, um die Graphenbeschreibung mit diesen Informationen zu füllen? in diesem Fall "oxygenio (%) no interior do pipo de madeira 4".
Ich habe versucht, alles und ich kann es nicht die Arbeit an ...
es nicht funktioniert, wird der Graph nicht wie zeichnen dass ... – Emerenciana
Ich habe nicht bemerkt, dass Sie "jsonData" mit 'jsonData = jsonData.channels [2] .values;' überschreiben. Meine aktualisierte Antwort sollte funktionieren. – asemahle
Funktioniert immer noch nicht. Ich habe mein Skript aktualisiert, damit es mit meinem aktualisierten übereinstimmt, weil ich einige Variablen verwende, um die Locken zu ändern, die die JSON-Daten erhalten. Aber es ist im Grunde dasselbe. Anstelle von response.channels [2] .info.chname habe ich response.channels [canal] .info.chname versucht, da das der Name der Variablen ist, die den aktuellen Kanal enthält, aber immer noch kein Glück @asemahle – Emerenciana