2010-08-24 9 views
16

Estoy tratando de usar Flot para trazar un gráfico con fechas. He seguido el consejo en esta cadena: here pero no parece funcionar para mí. Aquí está mi JavaScript modificado (de esa otra cuestión):Usar fechas en la pantalla de 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" 
} 
    }); 

}); 

consigo un gráfico, pero no convierte el eje x en las fechas y los valores en el eje x no tienen ni siquiera la línea con lo que tengo en las variables de datos. Incluso he tratado de multiplicar cada punto de datos por 1000 para convertirlos a marcas de tiempo de Javascript, pero eso tampoco ayudó. También he probado las siguientes variables Timeformat, en caso de que el problema era:

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

Pero no hubo suerte. ¿Algunas ideas?

+1

Aquí es un exapmle donde las fechas están trabajando: http://people.iola.dk/olau/flot/examples /time.html quizás comience con este código e intente modificarlo para sus necesidades – JochenJung

+0

Gracias por señalarlo. Fue útil trabajar hacia atrás desde allí. – tchaymore

Respuesta

26

se debe multiplicar a 1000 y uso:

xaxis: { 
     mode: "time" 
    } 

Probé esta manera. Puedo publicar el código completo si lo necesita.

Este es un pequeño post italiano sobre el uso de flot para medir la altura de mi bebé y peso:

El proyecto de código se puede descargar desde here.

Descomprímala y abra el archivo peso_giulia.html. Aquí puedes encontrar la serie d3.

Puede reemplazar la línea

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

con la versión de marca de tiempo

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

Muchas gracias. Tuve que hacer una cosa más: había demasiados '{' y '}' en el, así que no creo que las opciones para el eje x estuvieran incluso procesándose correctamente. Pero aún apreciaría ver tu código. – tchaymore

+0

* 1000 hace el truco. Gracias. – Florin