2010-08-24 3 views
16

Sto provando a utilizzare Flot per tracciare un grafico con le date. Ho seguito il consiglio su questa stringa: here ma non sembra funzionare per me. Qui è il mio modificato JavaScript (da che altra domanda):Uso delle date nel display 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" 
} 
    }); 

}); 

ottengo un grafico, ma non converte l'asse x in date, ed i valori sulle ascisse non hanno nemmeno la linea con quello che ho nelle variabili dei dati. Ho persino provato a moltiplicare ogni datapoint per 1000 per convertirli in timestamp di Javascript, ma non è stato d'aiuto neanche uno. Ho anche provato le seguenti variabili timeformat, nel caso in cui fosse il problema:

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

ma senza fortuna. Qualche idea?

+1

Ecco un exapmle cui date sono al lavoro: http://people.iola.dk/olau/flot/examples /time.html forse inizia con questo codice e prova a modificarlo per le tue esigenze – JochenJung

+0

Grazie per averlo indicato. È stato utile tornare indietro da lì. – tchaymore

risposta

26

Si dovrebbe moltiplicare per 1000 e l'uso:

xaxis: { 
     mode: "time" 
    } 

ho provato in questo modo. Posso postare il codice completo se necessario.

Questo è un piccolo post italiane sull'utilizzo flot per misurare l'altezza e il peso del mio bambino:

Codice Il progetto è scaricabile dal here.

Decomprimere e aprire il file peso_giulia.html. Qui puoi trovare la serie d3.

È possibile sostituire la linea

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

con la versione timestamp

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

Grazie mille. Ho dovuto fare ancora una cosa: c'erano troppe "{" e "}" quindi non penso che le opzioni per l'asse x siano state elaborate correttamente. Ma apprezzerei comunque vedere il tuo codice. – tchaymore

+0

* 1000 fa il trucco. Grazie. – Florin