Come ottenere le etichette dojox.charting sui valori irregolari (ad es. 31, 28, 31 ... così via)?

StackOverflow https://stackoverflow.com/questions/5318602

  •  24-10-2019
  •  | 
  •  

Domanda

Sto cercando di utilizzare dojox.charting per produrre un semplice grafico dei dati mensili.

Per ora, lo voglio per visualizzare un punto per ogni giorno in ogni mese, per una durata di un anno. Questo lo hanno lavorando.

Il problema di questo è :. Non riesco a trovare un modo per aggiungere etichette del grafico per ogni mese

Voglio "Gennaio" a 0, "Febbraio" al 31, "Marzo" a 59 e così via.

Per quanto posso dire, dojox.charting supporta solo avere le etichette sui valori normali, ad es. 30, 60, 90 e così via.

C'è qualche modo posso facilmente fare questo, o sta cambiando il codice del dojo richiesta?

Si prega di vedere questo jsfiddle ad esempio: http://jsfiddle.net/svjrz/

È stato utile?

Soluzione

dojox.charting non supporta ancora timeseries.

Quando ho bisogno di presentare i dati irregolari (come mensile), di solito mi interpolare dati giornalieri per presente sulla scala mensile con le zecche regolari (gennaio, febbraio, e così via) come un grafico a linee / zona (si può provare spline lì) . E posso passare alla visualizzazione settimanale / giornaliero quando trapani utente verso il basso.

Sì, è più lavoro, ma il risultato è esattamente quello che voglio, piuttosto che "ciò che è disponibile".

Altri suggerimenti

Ho fornito una possibile soluzione in questo post .

la creazione di grafici in base al tempo richiede dati padding non contigue.

Sarà necessario per generare la serie completa di valori di data per l'asse X in SQL o PHP. Sto usando il trucco MySQL di un tavolo calendario con un campo DATE, e una procedura per popolarlo con tutte le date in un intervallo. JavaScript può convertire le date ISO direttamente.

I tuoi dati sparsi possono essere emessi come una serie basate sul tempo contigui utilizzando:

SELECT DISTINCT(t0.datefield) AS Date, SUM(t1.sales) AS Sales FROM T_Sales AS t1 RIGHT JOIN T_Cal AS t0 ON t0.datefield = DATE(t1.saledate) WHERE t0.datefield >= DATE(NOW() - INTERVAL 6 MONTH) AND t0.datefield <= DATE(NOW())
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top