Je veux afficher tous les points de mon graphique à partir des données que j'obtiens, mais je ne veux pas afficher toutes les étiquettes pour eux, car alors le graphique n'est pas très lisible. Je le cherchais dans la documentation, mais je n'ai trouvé aucun paramètre qui limiterait cela.
Je ne veux pas prendre seulement trois étiquettes par exemple, car alors le graphique est également limité à trois points. C'est possible?
J'ai quelque chose comme ça en ce moment:
Si je pouvais simplement quitter un label sur trois, ce serait génial. Mais je n'ai absolument rien trouvé sur les options d'étiquettes.
Réponses:
Essayez d'ajouter l'
options.scales.xAxes.ticks.maxTicksLimit
option:la source
maxRotation: 0
si vous souhaitez qu'il ne tourne pas avant de commencer à déposer les étiquettes.Pour plus de précision, disons que votre liste originale d'étiquettes ressemble à:
["0", "1", "2", "3", "4", "5", "6", "7", "8"]
Si vous ne voulez afficher qu'une étiquette sur 4, filtrez votre liste d'étiquettes de manière à ce qu'une étiquette sur 4 soit remplie et que toutes les autres soient la chaîne vide (par exemple
["0", "", "", "", "4", "", "", "", "8"]
).la source
""
supprime également les info-bulles correspondantes sur le graphique!my_labels = [my_labels[i] if i % 10 == 0 else "" for i in range(len(my_list))]
. Le nombre 10 peut bien sûr être déclaré comme une constante au début du fichier pour un paramétrage plus facile du processus.""
, comme dans la réponse à cette question problème de ligne de ceinture verticale avec chart.js où l'OP avait un problème avec la ligne noire apparaît sur la première occurrence de cette double guillemet, dans ce cas, cela a aidé, encore une fois comme @ haywire a mentionné qu'il supprime l'étiquette de l'infobullePour tous ceux qui cherchent à atteindre cet objectif sur Chart JS V2, ce qui suit fonctionnera:
Ensuite, passez la variable d'options comme d'habitude dans un:
la source
METTRE À JOUR:
J'ai mis à jour ma fourche avec le dernier pull (au 27 janvier 2014) de la branche principale Chart.js de NNick. https://github.com/hay-wire/Chart.js/tree/showXLabels
RÉPONSE ORIGINALE:
Pour ceux qui sont toujours confrontés à ce problème, j'ai bifurqué Chart.js il y a quelque temps pour résoudre le même problème. Vous pouvez le vérifier sur: https://github.com/hay-wire/Chart.js/tree/skip-xlabels => Ancienne branche! Vérifiez la branche showXLabels pour le dernier pull.
Comment utiliser:
Applicable aux graphiques à barres et aux graphiques en courbes.
L'utilisateur peut maintenant passer a
{ showXLabels: 10 }
pour afficher seulement 10 étiquettes (le nombre réel d'étiquettes affichées peut être un peu différent en fonction du nombre total d'étiquettes présentes sur l'axe x, mais il restera néanmoins proche de 10)Aide beaucoup lorsqu'il y a une très grande quantité de données. Auparavant, le graphique avait l'air dévasté en raison des étiquettes de l'axe des x dessinées les unes sur les autres dans l'espace restreint. Avec
showXLabels
, l'utilisateur a maintenant le contrôle pour réduire le nombre d'étiquettes à n'importe quel nombre d'étiquettes qui s'intègrent bien dans l'espace dont il dispose.Voir les images ci-jointes pour une comparaison.
Sans
showXLabels
option:Avec
{ showXLabels: 10 }
passé en option:Voici quelques discussions à ce sujet: https://github.com/nnnick/Chart.js/pull/521#issuecomment-60469304
la source
pour la rotation de l'axe
utilisez ceci:
la source
Selon le numéro 12 de github de chart.js . Les solutions actuelles comprennent:
Cependant, après quelques minutes, je pense qu'il y a une meilleure solution.
L'extrait suivant masquera automatiquement les étiquettes . En modifiant
xLabels
avec une chaîne vide avant de les invoquerdraw()
et restaurez-les ensuite. De plus, la re-rotation des étiquettes x peut être appliquée car il y a plus d'espace après le masquage.Veuillez noter qu'il
clone
s'agit d'une dépendance externe.la source
J'ai eu un type de problème similaire et j'ai reçu une bonne solution à mon étiquette d'exposition de problème spécifique dans l'info-bulle, mais pas sur l'axe des x pour le graphique en courbes chartjs . Voyez si cela vous aide
la source
Cette réponse fonctionne comme un charme.
Si vous vous interrogez sur la
clone
fonction, essayez celle-ci:la source
Dans le fichier Chart.js, vous devriez trouver (à la ligne 884 pour moi)
Si vous conclure qu'un appel à la ligne
fillText
avecif ( i % config.xFreq === 0){ ... }
puis enchart.Line.defaults
ajouter le nom de quelque chose quexFreq : 1
vous devriez être en mesure de commencer à utiliserxFreq
dans votreoptions
quand vous appeleznew Chart(ctx).Line(data, options)
.Remarquez que c'est assez hacky.
la source