Ich schreibe ein bisschen Code, um ein Balken- (oder Linien-) Diagramm in unserer Software anzuzeigen. Alles läuft gut. Die Sache, bei der ich nicht weiterkomme, ist die Beschriftung der Y-Achse.
Der Anrufer kann mir sagen, wie fein er die Y-Skala beschriftet haben möchte, aber ich scheine nicht genau zu wissen, wie ich sie in einer "attraktiven" Art und Weise beschriften soll. Ich kann "attraktiv" nicht beschreiben, und Sie wahrscheinlich auch nicht, aber wir erkennen es, wenn wir es sehen, oder?
Wenn die Datenpunkte also sind:
15, 234, 140, 65, 90
Und der Benutzer fragt nach 10 Beschriftungen auf der Y-Achse, was nach ein wenig Fummelei mit Papier und Bleistift herauskommt:
0, 25, 50, 75, 100, 125, 150, 175, 200, 225, 250
Es sind also 10 (0 nicht mitgerechnet), der letzte reicht gerade über den höchsten Wert hinaus (234 < 250), und es ist eine "nette" Steigerung von jeweils 25. Hätten sie um 8 Etiketten gebeten, hätte eine Schrittweite von 30 gut ausgesehen:
0, 30, 60, 90, 120, 150, 180, 210, 240
Neun wären schwierig gewesen. Vielleicht hätte es gereicht, entweder 8 oder 10 zu nehmen und es als nahe genug zu bezeichnen. Und was ist zu tun, wenn einige der Punkte negativ sind?
Ich kann sehen, dass Excel dieses Problem gut löst.
Kennt jemand einen allgemeinen Algorithmus (auch ein Brute-Force-Verfahren ist in Ordnung), um dieses Problem zu lösen? Ich muss es nicht schnell machen, aber es sollte gut aussehen.