Sto scrivendo un po 'di codice per visualizzare un grafico a barre (o linee) nel nostro software. Va tutto bene. La cosa che mi ha lasciato perplesso è l'etichettatura dell'asse Y.
Il chiamante può dirmi con che precisione vuole che la scala Y sia etichettata, ma mi sembra di essere bloccato su cosa etichettarli in un modo "attraente". Non posso descrivere "attraente", e probabilmente nemmeno tu puoi, ma lo sappiamo quando lo vediamo, giusto?
Quindi, se i punti dati sono:
15, 234, 140, 65, 90
E l'utente chiede 10 etichette sull'asse Y, un po 'di rifinitura con carta e matita arriva con:
0, 25, 50, 75, 100, 125, 150, 175, 200, 225, 250
Quindi c'è 10 (escluso 0), l'ultimo si estende appena oltre il valore più alto (234 <250), ed è un "bel" incremento di 25 ciascuno. Se avessero chiesto 8 etichette, un incremento di 30 sarebbe stato carino:
0, 30, 60, 90, 120, 150, 180, 210, 240
Nove sarebbe stato complicato. Forse hai usato solo 8 o 10 e chiamarlo abbastanza vicino andrebbe bene. E cosa fare quando alcuni punti sono negativi?
Vedo che Excel affronta questo problema bene.
Qualcuno conosce un algoritmo generico (anche un po 'di forza bruta va bene) per risolvere questo problema? Non devo farlo velocemente, ma dovrebbe essere carino.