2011-01-23 20 views
22

Tengo un cuadro que muestra barras que representan la lluvia en 24 h. Ahora bien, el primer problema que tenía, era la anchura de 1 píxel por defecto para las barras en Flot, vea este ejemplo:Problema de ancho de barra en flot

alt text

buscaba una solución y encontraron que specifing BarWidth así:

bars: { 
     show: true, 
     barWidth : 60*60*1000 //1h 
    } 

resuelve el problema Ahora eso realmente funciona, pero con un mal resultado. En mi ejemplo (gráfico que muestra las precipitaciones 24 discretamente cada hora) ahora esto sucede:

alt text

Como se puede ver desde el primer ejemplo, donde las barras son de 1 píxel de anchura, el tiempo va de 13:00 del día anterior a las 13:00 del día siguiente. Ahora cuando el ancho de la barra es fijo, el tiempo pasa de 13:00 a 14:00 por alguna razón. Ahora probé una configuración diferente de BarWidth, por ejemplo 50 * 60 * 1000, pero eso no escala a la derecha más el margen comienza a aparecer entre cada barra.

Ahora me gustaría saber cómo solucionar este problema, que la línea de tiempo sería como en el primer ejemplo y las barras tendrían 1 hora de ancho?

Respuesta

9

El problema estaba en el llenado de datos con php para flot gráficos. Pasé por alto el uso incorrecto de datos y luego tuve una condición, que se agregó a php array el tiempo. Entonces, al final, agregó 1 hora extra. Entonces, el ancho de barra: 60 * 60 * 1000 en mi caso era lo correcto.

4

Bueno, el gráfico del eje x está siendo dibujado de tal manera que, si hubiera alguna barra para mostrar a las 13:00 (el valor máximo), podría mostrarla. Esto no es realmente una cuestión de Flot, es solo una consecuencia de tener barras más anchas. Si no quiere llegar tan lejos, puede usar las opciones "min" y "max" en el eje x para configurar esto. Sin embargo, si lo hiciste, y hubo datos en las últimas 13:00 para mostrar, no sería capaz de mostrarlo (porque con la barra más ancha no hay suficiente espacio).

+0

Gracias por su answear, pensé en eso, pero ayer después de publicar esta pregunta, volví a mirar el código y encontré answear. –

Cuestiones relacionadas