Google chart “le Tableau n'a pas de colonnes”
Je suis de la génération d'un DataTable pour google graphique de la zone. La table que j'ai réalisé est le ci-dessous JSON. Le JSON valide, et a l'air correct, mais quand nourris au tableau, le graphique affiche une "table n'a pas de colonnes d'erreur".
Le JSON semble également correspondre au format JSON dans l'exemple de fichier sur cette page
Voici mes données JSON:
{
"cols":[
{"id":"","label":"date","type":"string"},
{"id":"","label":"run","type":"number"},
{"id":"","label":"passed","type":"number"}
],
"rows":[
{"c":[{"v":"2012-07-20"},{"v":0},{"v":0}]},
{"c":[{"v":"2012-07-23"},{"v":0},{"v":0}]}
]
}
Ici est de savoir comment je suis aller chercher les données et de les donner à la carte:
function loadData()
{
var request=new XMLHttpRequest();
request.onreadystatechange=function()
{
if (request.readyState==4 && request.status==200)
{
return request.responseText;
}
}
request.open("GET","testsrun.php?json=true&branch=test",true);
request.send();
}
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var json = loadData();
var data = new google.visualization.DataTable(json);
var options = {
vAxis: {minValue: 0}
};
var chart = new google.visualization.AreaChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
Aussi, je suis conscient que je peux utiliser un objet date, au lieu d'une chaîne de caractères pour la date, je préfère ne pas compliquer ce jusqu'à ce que j'ai résolu le problème initial.
OriginalL'auteur fishpen0 | 2013-12-06
Vous devez vous connecter pour publier un commentaire.
Votre
loadData
fonction ne retourne rien, de sorte que lejson
variable estnull
. Je suggère une légère réorganisation de votre code pour obtenir l'effet que vous voulez:Aussi, les numéros dans votre JSON sont entrées comme des chaînes, ce qui va causer des problèmes avec vos cartes. Vous avez besoin de les entrer que des chiffres, par exemple.
{"v":"0"}
devrait être{"v":0}
. Si vous utilisez PHPjson_encode
fonction pour construire votre JSON, vous pouvez passerJSON_NUMERIC_CHECK
comme deuxième argument de l'appel de la fonction pour vous assurer que vos numéros sont correctement:Oh, je comprends maintenant. La fonction était la fin et le rappel qui se passait, plus tard, de sorte que la variable a déjà été affecté une valeur null. Merci!
OriginalL'auteur asgallant