Мне нужен достаточно умный алгоритм, чтобы придумать «красивые» линии сетки для графика (диаграммы).
Например, предположим гистограмму со значениями 10, 30, 72 и 60. Вы знаете:
Минимальное значение: 10
Максимальное значение: 72
Диапазон: 62
Первый вопрос: с чего начать? В этом случае 0 будет интуитивно понятным значением, но оно не будет поддерживаться другими наборами данных, поэтому я предполагаю:
Минимальное значение сетки должно быть либо 0, либо "хорошим" значением, которое меньше минимального значения данных в диапазоне. В качестве альтернативы его можно указать.
Максимальное значение сетки должно быть «хорошим» значением выше максимального значения в диапазоне. В качестве альтернативы его можно указать (например, вы можете захотеть от 0 до 100, если вы показываете проценты, независимо от фактических значений).
Количество линий сетки (отметок) в диапазоне должно быть либо указано, либо число в данном диапазоне (например, 3-8), чтобы значения были «хорошими» (т. Е. Круглыми числами), и вы максимально используете область диаграммы. В нашем примере 80 было бы разумным максимумом, поскольку при этом использовалось бы 90% высоты диаграммы (72/80), тогда как 100 создавало бы больше потерянного пространства.
Кто-нибудь знает хороший алгоритм для этого? Язык не имеет значения, так как я буду реализовывать его так, как мне нужно.