Нахождение оси Y для точек на линейном графике с помощью PHP imageline () - PullRequest
0 голосов
/ 07 октября 2010

Я делаю линейный график с помощью PHP, используя imagecreate () и imageline ().Я пытаюсь выяснить, как выполнить вычисления, чтобы найти ось Y для каждой точки на графике.

Вот несколько значений, которые будут отображаться на графике:

$values[jan] = .84215;
$values[feb] = 1.57294;
$values[mar] = 3.75429;

Вот пример линейного графика.Метки оси X расположены по центру вертикальных линий оси X.Разрыв между линиями оси x составляет 25 пикселей.

Как бы вы сделали расчет, чтобы найти ось Y для значений в приведенном выше массиве?

5.00
4.75
4.50
4.25
4.00
3.75
3.50
3.25
3.00
2.75
2.50
2.25
2.00
1.75
1.50
1.25
1.00
0.75
0.50
0.25
0.00
     Jan  Feb  Mar  apr  may  jun  jul  aug  sep  oct  nov  dec

1 Ответ

0 голосов
/ 07 октября 2010

Вам нужен способ сопоставить любое число с плавающей запятой между [0.00 5.00] с вашими точками оси Y.

Степень детализации вашей оси Y равна 0.25.Таким образом, вы можете разделить входные данные на 0.25, чтобы получить точную точку на оси Y.Но это значение может быть между двумя точками, например, входное значение равно 0.3, а 0.3/0.25 равно 1. 2, и на оси Y нет 1.2.

Чтобы решить эту проблему, мы связываем диапазон+|-0.125 с каждым номером оси Y.Таким образом, 1.0 будет иметь диапазон от 0.75 до 1.25, этот любой вход с input / 0.25, попадающим в [0.75 1.25], будет иметь 1.00 в качестве точки оси Y.

В PHP вы можете сделатьэто как:

$Y_cord = ceil ( $input / 0.25 - 0.125) * 0.25;

Вы можете увидеть отображение случайного набора данных здесь .

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