2011-01-23 13 views
22

Ho un grafico, che mostra barre che rappresentano le precipitazioni in 24 ore. Ora il primo problema che ho avuto, era la larghezza 1px di default per le barre a flot, vedere questo esempio:Problema della larghezza della barra nel flottante

alt text

Ho cercato una soluzione ed ha trovato che specificando BarWidth come questo:

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

risolve il problema Ora funziona davvero, ma con un risultato negativo. Sul mio esempio (grafico che visualizza 24 precipitazioni discretly ogni ora) ora questo accade:

alt text

Come si può vedere dal primo esempio, dove i bar sono 1px di larghezza, il tempo va dalle ore 13:00 giorno precedente alle 13:00 del giorno successivo. Ora quando la larghezza della barra è fissa, il tempo va dalle 13:00 alle 14:00 per qualche motivo. Ora ho provato diverse impostazioni di barWidth, ad esempio 50 * 60 * 1000, ma ciò non si ridimensiona a destra e il margine inizia ad apparire tra ogni barra.

Ora mi piacerebbe sapere come risolvere questo problema, che la sequenza temporale andrebbe come nel primo esempio e le barre avrebbero 1 ora di larghezza?

risposta

9

Il problema era nel riempire i dati con i grafici php per flottare. Ho trascurato la falsa citazione dei dati e quindi ho avuto una condizione, che ha aggiunto al php array il tempo. Quindi alla fine ha aggiunto 1 ora in più. Quindi la larghezza della barra: 60 * 60 * 1000 nel mio caso era la cosa giusta da fare.

4

Bene, l'asse x del grafico viene disegnato in modo tale che, se ci fosse una barra da mostrare alle 13:00 (il valore massimo), sarebbe in grado di mostrarlo. Questa non è una cosa Flot, è solo una conseguenza di avere barre più larghe. Se si desidera che non si spinga così lontano, è possibile utilizzare le opzioni "min" e "max" sull'asse x per impostarlo. Tuttavia, se l'hai fatto, e ci sono stati dati alle 13:00 finali per mostrare, non sarebbe in grado di mostrarlo (perché con la barra più ampia non c'è abbastanza spazio).

+0

Grazie per la tua risposta, ci ho pensato, ma ieri, dopo aver postato questa domanda, ho dato un'altra occhiata al codice e ho trovato la risposta. –

Problemi correlati