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