2010-01-07 3 views
8

Quelqu'un sait comment afficher la date dans Flot en fonction de l'horodatageFlot afficher la date dans Flot en fonction de l'horodatage

<script id="source" language="javascript" type="text/javascript"> 
$(function() { 

var d1 = [ 
[1262818800,100],[1262732400,100],[1262646000,100],[1262559600,100],[1262473200,100],[1262386800,100],[1262300400,100],[1262214000,100],[1262127600,100],[1262041200,100],[1261954800,100],[1261868400,100],[1261782000,100],[1261695600,100],[1261609200,100],[1261522800,95],[1261436400,110],[1261350000,110],[1261263600,110],[1261177200,100]; 

var d2 = [ 
[1262818800,23],[1262732400,23],[1262646000,23],[1262559600,23],[1262473200,23],[1262386800,23],[1262300400,25],[1262214000,25],[1262127600,25],[1262041200,25],[1261954800,25],[1261868400,25],[1261782000,25],[1261695600,25],[1261609200,25],[1261522800,25],[1261436400,10],[1261350000,10],[1261263600,10],[1261177200,10] 

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

}); 
</script> 
+1

Hey Mark, avez-vous résolu ce problème? J'ai le même problème. –

+0

Que voyez-vous exactement? – DNS

Répondre

21

Je suppose que tout ce que vous devez faire est de multiplier l'horodatage (qui ressemblent à timestamp unix L'horodatage Unix effectue le suivi de l'heure sous la forme d'un total cumulé de secondes à compter du 1er janvier 1970. Les horodatages javascript mesurent les millisecondes. Il suffit donc de multiplier par 1000 et vous devriez être bien

+1

Vous devriez accepter cela, c'est la bonne réponse. Après avoir multiplié par 1000, vous devrez peut-être également soustraire par votre temps par rapport à UTC, par exemple EST est - 18000. Donc, pour obtenir l'heure exacte, pour moi ce serait; (timestamp * 1000) - 18000 –

4

Essayez de définir l'attribut 'timeformat' et définissez le modèle que flot utilisera pour formater la valeur millisecondes.

xaxis:{ 
    mode: "time", 
    timeformat: "%M:%S" 
}, 
+0

J'ai besoin de vous pour certaines tâches jquery si vous êtes intéressé. – seoppc

2

J'utilise ceci:

var options = { 
    lines: { show: true }, 
    points: { show: true }, 
    xaxis: { mode: "time", timeformat: "%m/%d/%y", minTickSize: [1, "day"]} 
}; 
0

Je viens de croiser et je pense que nous avons tous deux utilisé le même mauvais exemple Flot. La signature est:

var plot = $.plot(placeholder, data, options) 

Et votre code fait quelque chose comme

var plot = $.plot(placeholder, data, xoptions, yoptions) 

Donc, pour le réparer, il suffit de ceci:

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