2013-11-05 10 views
5

Ho un grafico di Google in cui l'asse y viene misurato in minuti.Formato un'ora come: minuti su un asse Y di Google Maps

Come posso formattare l'asse y in modo che le etichette visualizzare l'ora in un formato simile 2hrs40, o 2:40, o qualcosa di simile? Non voglio visualizzare l'ora in minuti grezzi e non voglio visualizzarlo come un decimale come "1.5" per 90 minuti.

Il documentation mi dice di utilizzare ICU Pattern Set, ma non riesco a capirlo da quella pagina.

È possibile? E se non riesco a formattare direttamente l'ora in questo modo, c'è un modo per "hackerare" il grafico dopo aver modificato l'elemento <svg> usando Javascript?

risposta

7

Le opzioni di formattazione non consentono di farlo. Tuttavia, è possibile utilizzare l'opzione vAxis.ticks per specificare manualmente i valori da utilizzare per i segni di graduazione e le stringhe che si desidera utilizzare per rappresentare i valori. L'opzione vAxis.ticks accetta una matrice di oggetti, in cui ogni oggetto ha proprietà v (valore) e f (valore formattato - ciò che viene visualizzato nel grafico). Qualcosa del genere dovrebbe funzionare:

vAxis: { 
    ticks: [{v: 0, f: '0:00'}, {v: 30, f: '0:30'}, {v: 60, f: '1:00'}, {v: 90, f: '1:30'}] 
} 
+0

Questo funziona. Poiché non so in anticipo quale sarà il range dell'asse y, ho dovuto generare dinamicamente l'oggetto 'ticks', che è un po 'hacky, ma non importa. Grazie! – GMA

0

Google ti permette di farlo .... Lo sto facendo per mostrare dati come "5 minuti". Nelle opzioni fai questo:

  vAxis: { 
      format: 'm \'mins\'' 
     },