2010-08-24 13 views
16

J'essaie d'utiliser Flot pour tracer un graphique avec des dates. J'ai suivi le conseil sur cette chaîne: here mais cela ne semble pas fonctionner pour moi. Voici mon JavaScript (de cette autre question) modifiée:Utilisation des dates dans l'affichage jQuery Flot

$(document).ready(function() { 

    var d1 = [[1262818800,100],[1262732400,100],[1262646000,100]]; 

    var d2 = [[1262818800,23],[1262732400,23],[1262646000,23]]; 

    $.plot($("#placeholder"), [{data:d1,lines:{show: true},label:"Mountain"},{data:d2,lines:{show: true},label:"Valley"}],{yaxis: {label:"cm"}}, 
    {xaxis: 
     {mode:"time", 
     timeformat: "%M:%S" 
} 
    }); 

}); 

Je reçois un graphique, mais il ne convertit pas l'axe x dans les dates et les valeurs sur l'axe x ne ligne même pas avec ce que j'ai dans les variables de données. J'ai même essayé de multiplier chaque point de données par 1000 pour convertir en timestamps Javascript, mais cela n'a pas aidé non plus. J'ai également essayé les variables de format de temps suivantes, au cas où c'était le problème:

"%M:%S", "%H:%S", "%y,%m,%d" 

Mais pas de chance. Des idées?

+1

Voici un exapmle où les dates travaillent: http://people.iola.dk/olau/flot/examples /time.html peut-être commencer avec ce code et essayer de le modifier pour vos besoins – JochenJung

+0

Merci de le signaler. C'était utile de travailler en arrière à partir de là. – tchaymore

Répondre

26

Vous devriez multiplier à 1000 et à l'utilisation:

xaxis: { 
     mode: "time" 
    } 

Je l'ai testé cette façon. Je peux poster le code complet si vous avez besoin.

Voici un petit message italien sur l'utilisation Flot pour mesurer ma taille de bébé et poids:

Le code du projet est téléchargeable à partir here. Décompressez et ouvrez le fichier peso_giulia.html. Ici vous pouvez trouver la série d3.

Vous pouvez remplacer la ligne

,[(new Date("2009/12/29")).getTime(),67] 

avec la version d'horodatage

,[(1282688250 * 1000), 100] 
+0

Merci beaucoup. Je devais faire une chose de plus - il y avait trop de '{' et '}' dans le donc je ne pense pas que les options pour l'axe des X aient été correctement traitées. Mais j'apprécierais quand même de voir ton code. – tchaymore

+0

* 1000 fait l'affaire. Merci. – Florin