Я пишу модуль, который создает точечный график из двухмерного массива чисел, предоставленных пользователем (значения x и y). Предполагается, что ось графика будет масштабироваться до значения, необходимого для охвата всех входных чисел, а также округляться до эстетически приятного значения. Например, если максимальное введенное значение равно 4,56, я бы хотел, чтобы максимальное значение оси было округлено до 5. Если максимальное значение равно 850, мне бы хотелось, чтобы оно было округлено до 1000.
Это изначально кажется простой задачей. Просто возьмите максимальное значение и округлите. Однако, что делает это трудным, так это то, что мой модуль может иметь дело с входными значениями от 0,00000001 до нескольких миллиардов.
Кто-нибудь может предложить рабочий процесс для этого? Мне не нужен сам код, требуется только процесс. Единственный способ, которым я придумал, - это чрезвычайно громоздкий итеративный подход, который все еще плохо обрабатывает необычные значения.
Любой совет будет наиболее ценным!
Спасибо
Грег