5 votes

Problèmes de temps sur l'axe des x des diagrammes de Flot... AARGHHH

J'ai du mal à faire en sorte que mes données s'affichent dans un graphique de Flot dont l'axe x sert de ligne de temps. Voici une copie abrégée de mon fichier JSON :

{
  "label": "ServiceReport",
  "data": [[1328983200, 53], [1328986800, 53], [1328990400, 60]]
}

J'ai suivi les tutoriels sur la page de l'API Flot, ainsi que celui-ci sur stackoverflow

sans succès.

Lorsque l'on modifie l'axe des abscisses, le graphique s'affiche correctement, mais l'axe des abscisses est vide.

xaxis: { mode: "time", minTickSize: [1, "hour"]}

Ceci affiche des valeurs de 8 à 8 (non correctes selon le fichier de données), mais pas de données graphiques :

xaxis: { mode: "time", minTickSize: [1, "hour"],
                min: (new Date("2000/01/01")).getTime(),
                max: (new Date("2000/01/02")).getTime()

            }

En gros, je veux juste afficher les heures (n'importe quel format : 5:00, 5 AM, peu importe) sur l'axe des x, et que l'axe des y soit en corrélation avec les valeurs de service. Il y a 24 horodatages au total dans chaque fichier de données (une journée de données).

Toute aide de la part des experts de Flot et de JavaScript/jQuery serait grandement appréciée !

3voto

Valky Points 1107

D'abord pour l'affichage de l'heure, utilisez :

 xaxis: { mode: "time",minTickSize: [1, "hour"],timeformat: "%H:%I:%S"}

J'ai eu les mêmes problèmes avec des données JSON, causés par un mauvais fichier d'encodage JSON. Êtes-vous sûr que votre fichier JSON est bien un fichier JSON ? Essayons quelque chose comme ça pour le tester (avec jquery par exemple) :

$.getJSON('yourJSONpage.php', 
    function(data) {
        testData=data.pop();
        alert(testData[0]);
});

Dernier point, votre horodatage n'est pas correct, l'horodatage correct est "1328983200000" et non "1328983200", si vous utilisez PHP pour générer vos données JSON, assurez-vous de faire quelque chose comme cela pour les dates :

$hour=mktime($h+1,$i,$s,$m,$d,$y)*1000;

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X