2010-01-07 17 views
8

¿Alguien sabe cómo mostrar la fecha en flot basado en fecha y horaflot visualizan la fecha en flot basado en fecha y hora

<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

Hola Marcos, los solucionaron este problema? Estoy teniendo el mismo problema. –

+0

¿Qué estás viendo exactamente? – DNS

Respuesta

21

supongo que todo lo que tiene que hacer es multiplicar la marca de tiempo (que se parecen a las marcas de tiempo de Unix) por 1000.

La marca de tiempo Unix registra el tiempo como un total acumulado de segundos a partir del 1 de enero de 1970. Mientras que las marcas de tiempo de javascript miden milisegundos. Así que simplemente multiplique por 1000 y debería estar bien

+1

Deberías aceptar esto, es la respuesta correcta. Después de haber multiplicado por 1000, también puede necesitar restar por su tiempo relativo a UTC, por ejemplo, EST es - 18000. Entonces, para obtener la hora correcta, para mí sería; (timestamp * 1000) - 18000 –

4

Pruebe a definir el atributo 'timeformat' y defina el patrón que flot usará para formatear el valor de milisegundos.

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

Te necesito para algunas tareas de jquery si estás interesado. – seoppc

2

Yo uso este:

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

Me acabo de encontrar con esto y creo que ambos utilizamos el mismo mal ejemplo Flot. La firma es:

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

Y su código está haciendo algo así como

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

Así que para solucionarlo, acaba de hacer esto en su lugar:

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