Я пытаюсь повторить, как «правильный» Excel чувствует себя в отношении расчета границ оси Y для линейного графика.
В качестве примера, давайте предположим, что у меня в настоящее время есть диаграмма с тремя точками данных на нем,(0, 100), (1500), (2930).
В упрощенном коде, который у меня есть, устанавливается минимальное значение оси Y на 100, а максимальное значение оси Y на 930. Идея состояла в том, чтобы предотвратитьнаборы данных, которые не имеют 0 значений из-за искажения размера диаграммы.Это работает, но я чувствую, что это могло бы быть намного лучше.
Для приведенного выше примера Excel отображает точки данных в диапазоне от 0 до 1000. Я пытаюсь создать общий алгоритм построения того же «чувствую себя хорошо»спектр.Это оказывается немного хитрым, однако.
Я чувствую, что мне нужно несколько пунктов информации:
- Порядок величины для верхнего и нижнего значений (степень 10).
- Всегда принимайте верхний / нижний предел точки данных - не очень ясно, когда точка данных имеет то же значение, что и максимальный / минимальный диапазон, нанесенный на график.
Оттам я немного растерялся.
Если я беру 930 в качестве максимального значения точки данных, я знаю, что его порядок равен 3. Итак, я добавляю один к его наибольшему значению и обнуляю остальные- в результате получается 1000.
Если я беру 1030 в качестве максимального значения точки данных, я знаю, что его порядок равен 4. Если я добавлю единицу к ее наибольшему значению и обнулю остальное, результат будет 2000. Excelотображает 1200 как максимальный диапазон при построении графика (0, 100), (1500), (2930), (3,1030).
Эта проблема быстро ухудшается при больших значениях - просто не совсем правильно всегда увеличивать наибольшее значение, но иногда это так.У кого-нибудь есть опыт, который мог бы пролить свет на лучший подход?