Je développe une classe de conteneur d'histogrammes et j'essaie de déterminer où les points de coupure devraient être pour les classes. J'aimerais que les points de coupure soient des chiffres agréables, de la même manière que les graphiques sont mis à l'échelle.C# Date/Échelle de l'axe numérique
Pour distiller ma demande en une question de base: Y a-t-il une méthode de base par laquelle les étiquettes d'axe de données peuvent être déterminées à partir d'une liste de nombres.
Par exemple:
Array{1,6,8,5,12,15,22}
Il serait logique d'avoir 5 bacs.
Bin Start Count
0 1
5 3
10 2
15 0
20 1
La séquence de début de groupe est identique à la sélection d'étiquettes d'axe sur un graphique dans cette instance.
Pour les besoins de cette question, je ne me soucie pas vraiment des cases et de l'histogramme, je m'intéresse plutôt à la partie étiquette de l'axe de la question.
Je vais utiliser C# 4.0 pour mon application, donc une solution astucieuse utilisant linq sont les bienvenues. J'ai essayé des trucs comme ça dans le passé lointain en utilisant du matériel de mise à l'échelle de la base de données 10, mais je ne l'ai jamais eu à travailler avec suffisamment de détails pour cette application. Je ne veux pas faire de mise à l'échelle, je viens d'utiliser la base 10 pour arrondir aux nombres entiers les plus proches. Je voudrais que cela fonctionne pour de grands nombres et de très petits nombres et peut-être aussi des dates; bien que les dates puissent être converties en doubles et analysées de cette façon.
Toutes les ressources sur le sujet seraient grandement appréciées.