J'écris un peu de code pour afficher un graphique à barres (ou linéaire) dans notre logiciel. Tout se passe bien. Ce qui m'embête, c'est l'étiquetage de l'axe Y. Je ne sais pas comment faire.
L'appelant peut me dire avec quelle finesse il veut que l'échelle Y soit étiquetée, mais je semble être bloqué sur la façon exacte de l'étiqueter d'une manière "attractive". Je ne peux pas décrire ce qui est "attirant", et probablement vous non plus, mais nous le savons quand nous le voyons, n'est-ce pas ?
Donc si les points de données sont :
15, 234, 140, 65, 90
Et l'utilisateur demande 10 étiquettes sur l'axe des Y, un petit tour de passe-passe avec du papier et un crayon permet d'obtenir ce résultat :
0, 25, 50, 75, 100, 125, 150, 175, 200, 225, 250
Il y en a donc 10 (sans compter le 0), le dernier s'étend juste au-delà de la valeur la plus élevée (234 < 250), et c'est un "bel" incrément de 25 chacun. S'ils avaient demandé 8 étiquettes, un incrément de 30 aurait été agréable :
0, 30, 60, 90, 120, 150, 180, 210, 240
Neuf aurait été délicat. Il aurait suffi d'utiliser 8 ou 10 et de dire que c'était assez proche. Et que faire quand certains des points sont négatifs ?
Je vois qu'Excel s'attaque bien à ce problème.
Quelqu'un connaît-il un algorithme général (même une force brute est acceptable) pour résoudre ce problème ? Je n'ai pas besoin de le faire rapidement, mais le résultat doit être beau.
1 votes
Vous trouverez ici des informations sur la manière dont Excel choisit les valeurs maximales et minimales pour son axe Y : support.microsoft.com/kb/214075
0 votes
Belle mise en œuvre : stackoverflow.com/a/16363437/829571