-
Recalage des ordonnées
:salut:
Sur mes graphiques, lorsque j'ai une série de valeur assez proches des limites fixées,on me demande de recaler les ordonnées pour recentrer un peu les données dans le graphique.
J'arrive à faire ceci:
http://img4.hostingpics.net/pics/570...tPic000033.png
Cela dit ce n'est pas très propre:
Code:
chtParam.ChartAreas(0).AxisY.Minimum = Math.Floor(Math.Truncate(lowerVal - (lowerVal / 5)))
Dans le code ci-dessus, je détermine la valeur minimum de l'axe Y par rapport à la plus petite valeur du graphique avec une marge de 20%.
Ce que j'aimerais, c'est pouvoir déterminer des valeur arrondie par exemple ici, 272 devrait plutôt être à 250 voir 200 et que le pas des ordonnées suive comme avant les modifications. Mon plus gros soucis c'est la mixité des valeur donc ça doit être adaptable à n'importe quel type de valeur avec ou sans décimale. J'ai des valeurs très petites comme une limite à 0.8 d'autres plus haute comme 100.000 etc...
Pour le moment je ne vois pas trop comment définir tout cela. Si jamais vous avez des idées, en espérant avoir été assez clair :aie:
:merci:
-
j'avais fait un truc dans le genre à l'époque, un peu bricolé mais ca doit pouvoir se coder un peu mieux
il suffit d'arrondir le min à l'unité en dessous et éventuellement de lui faire - 1 unité
inversement pour le max
et cette unité est à calculer selon l'amplitude
par exemple avec des valeurs entre 4.5 et 6.9 l'unité serait de .5, ce qui ferait 3.5 (4.5 arrondi à .5 => 4.5 - 1*.5 => 3) => 7.5
alors que pour des valeurs entre 25128 et 32145 l'unité serait aux alentours de 500 ou 1000
soit tu fais un select case géant (case < .001, case < .01 etc... jusqu'à case < 100000 et case else)
soit tu codes un algo qui en fonction de l'amplitude te trouve le pas