2017-01-04 2 views
1

J'utilise Highcharts et j'ai besoin de tracer des données avec une fréquence trimestrielle en utilisant un format comme 'yyyy Q #'.Highcharts rangeSelector: existe-t-il un rappel de la fonction de formatage pour les champs inputData?

J'ai trouvé comment formater les points dans l'info-bulle (en utilisant une fonction de formatage JS) et aimerais maintenant utiliser le même format dans les champs de saisie rangeSelector. De la documentation, je vois que je pourrais utiliser 'inputDataFormat', mais cela a la fonction standard de formatage de strftime de PHP, qui ne couvre pas mes besoins.

Une idée appréciée!

Massimo

+0

nous montrer votre code –

Répondre

1

Il est possible d'étendre le format Highcharts. Vous devez définir Highcharts.dateFormats objet:

Highcharts.dateFormats = { 
    Q: function(timestamp) { 
     var date = new Date(timestamp), 
      y = date.getFullYear(), 
      m = date.getMonth(); 

     return y + '.Q' + (Math.floor(m/3) + 1); 
    } 
}; 

Et vous pouvez utiliser « Q » pour l'horodatage de format.

rangeSelector: { 
    inputEnabled: true, 
    inputDateFormat: '%Q' 
}, 

exemple: http://jsfiddle.net/twcu0djj/

+0

Editting les entrées Revient encore à l'année mois jour de sorte que vous devez également définir 'inputEditDateFormat: « % Q'' – wergeld

+0

Merci d'avoir signalé ce feature @morganfree! –