Estoy escribiendo un poco de código para mostrar un gráfico de barras (o líneas) en nuestro software. Todo va bien. Lo que me dejó perplejo es etiquetar el eje Y.
La persona que llama puede decirme con qué precisión quieren que se etiquete la escala Y, pero parece que estoy atascado en exactamente qué etiquetarlos de una manera "atractiva". No puedo describir "atractivo", y probablemente tú tampoco, pero lo sabemos cuando lo vemos, ¿verdad?
Entonces, si los puntos de datos son:
15, 234, 140, 65, 90
Y el usuario pide 10 etiquetas en el eje Y, un poco de manipulación con papel y lápiz se obtiene:
0, 25, 50, 75, 100, 125, 150, 175, 200, 225, 250
Entonces hay 10 allí (sin incluir 0), el último se extiende un poco más allá del valor más alto (234 <250), y es un incremento "agradable" de 25 cada uno. Si pidieran 8 etiquetas, un incremento de 30 se habría visto bien:
0, 30, 60, 90, 120, 150, 180, 210, 240
Nueve habría sido complicado. Tal vez solo haya usado 8 o 10 y llamarlo lo suficientemente cerca estaría bien. ¿Y qué hacer cuando algunos de los puntos son negativos?
Puedo ver que Excel aborda este problema muy bien.
¿Alguien conoce un algoritmo de propósito general (incluso algo de fuerza bruta está bien) para resolver esto? No tengo que hacerlo rápido, pero debería verse bien.