формула для расчета значений осей - PullRequest
2 голосов
/ 06 января 2011

Допустим, у меня есть простая линейная диаграмма с 5 значениями (a = 155, b = 200, c = 250, d = 300, e 0 345)

Мне нужен способ, чтобы рассчитать, какие значения идутна оси Y таким образом, что значения выглядят хорошо.Я также хочу увидеть второстепенные шаги.

Если бы я использовал простую формулу, я сделал бы это:

MaxValue - Minvalue = разница 345 - 155 = 190

Для 5шаги: 190/4 = 47,50 за шаг

Это приведет к следующим значениям для оси Y:

Y0 = 155

Y1 = 203

Y2 = 250

Y3 = 298

Y4 = 345

На самом деле мне бы хотелось, чтобы значения были:

Y0 = 150

Y1 = 200

Y2 = 250

Y3 = 300

Y4 = 350

Но как рассчитать это?

Перед вычислением я не знаю величины значений, они также могут быть тысячами или десятками.

Надеюсь, я все объяснил.Английский не является моим основным языком, поэтому, пожалуйста, спросите, если что-то не понятно.

Ответы [ 3 ]

1 голос
/ 06 января 2011

Если я хорошо понимаю, вы говорите о подгонке ваших точек к линии. Эта нетривиальная проблема (но все еще простая) называется линейная регрессия . Традиционный алгоритм, используемый для его решения, - это алгоритм наименьших квадратов . Я совершенно уверен, что на любом языке вы можете найти библиотеку, в которой он реализован.

[Редактировать] Wolfram alpha может сделать работу:
http://www.wolframalpha.com/input/?i=linear+fit+155+200+250+300+345

0 голосов
/ 06 января 2011

Один из способов сделать это - написать простой алгоритм «округления монет».Это алгоритм, который округляет число (например, предложенный вами шаг) так, чтобы оно начиналось с 1, 2 или 5. Например, 47.50 будет округлено до 50.

0 голосов
/ 06 января 2011

Округление является ключевым здесь.Вы можете округлить свои экстремальные значения до 1-й цифры, 2-й цифры и т. Д. И использовать округленные значения в качестве пределов оси.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...