Comment définir un statique de la valeur minimale pour les axes de Highcharts
J'ai le temps de base de données, allant de 1 à 500. Le temps est tracée sur l'axe des x et les valeurs sur l'axe des y.
Lorsque l'écart entre le minimum et le maximum des points est grande l'axe des y " démarrer l'étiquette est de 0. Je peux dire Highcharts de ne pas afficher l'étiquette par la mise en yAxis.startOnTick = false;
mais ce n'est pas vraiment ce que je suis après.
Voici un jsfiddle de le problème où vous ne savez pas si le premier point est 0 ou une autre valeur. Avoir 0 ici ressemble également à la plage min pour y est
0, pas 1.
Peut Highcharts affichage de la première étiquette et la première étiquette doit toujours être réglé à la valeur minimale dans le jeu de données (par rapport à son axe).
OriginalL'auteur David Murdoch | 2011-11-18
Vous devez vous connecter pour publier un commentaire.
Je suis étonné de voir à quel point c'est difficile. Pas une solution optimale, mais le meilleur Je peux rêver avec HighChart de l'api:
Oh, je vais probablement faire un peu plus de traitement que pour le réglage de la tickInterval à 1 lorsque Highcharts est va vouloir définir la première étiquette à "0", à moins qu'il n'y a vraiment pas beaucoup de frais généraux impliqués lors de l'appel de
labels.formatter
jusqu'à 500 fois.Cela ne fonctionne plus, avec la version 4. Je suis toujours à la recherche d'une solution.
semble toujours travailler avec la v4: jsfiddle.net/KS99A/32, juste eu à mettre à jour le js à inclure.
OriginalL'auteur Mark
Une solution (qui optimise Les marques de réponse) est d'utiliser
yAxis.labels.formatter
avecthis.isFirst
etthis.axis.dataMin
, comme ceci:Voir cette JSFiddle démo pour un exemple.
L'avantage, c'est que vous n'avez pas de régler manuellement
tickInterval
, ce qui permet d'économiser beaucoup d'appels àformatter
et vous permet de Highcharts figure sur l'étiquette des intervalles de lui-même. Aussi, il utilise l'axe de la connaissance d'un minimum de données de la valeur, au lieu d'avoir à vérifier à l'encontre d'un tableau (qui vous pouvez avoir à parcourir pour trouver le minimum).Méfiez-vous que le
yAxis.min
doit être quelque chose de sensé ici (fonctionne mieux avec0
, et les données positives). Si l'axe y va bien au-dessous du minimum de datapoint la première étiquette ne sera pas la seule à 0.La
this.axis
valeur n'était pas disponible lorsque cette question a été posée.OriginalL'auteur Halvor Holsten Strand