Задать вопрос

Правильный графопостроитель для PHP?

Для показа простого линейного графика зависимости числовых от времени мне необходим некий графопостроитель.

Предъявляю такие требования:

1. Базисные — рисовать график как минимум из двух величин одновременно, настраиваемое все — от цветов линий до невозможности.

2. Автоматическое проставление координат на оси абсциисс в зависимости от ширины надписи координаты.

3. Правильная постановка точки на оси абсцисс.

4. Возможность добавлять метки min/max.

5. Вывод изображения в png.

6. Антиалиасинг линий.

7. Бесплатно.


Данных может быть сколь угодно много, все построение должно выполняться силами собственного сервера, на PHP.


Сейчас использую pChart:
9bee291057e6ebd193b5aceac3bb6970.png

У него есть один очень большой недостаток: на вход подается массив[x] = y. Дело в том, что координата x неравномерно распределена по массиву, pChart же ставит точки абсолютно равномерно.


Например, если я подам на вход три точки:

['2012-12-03 00:00:00', 1]

['2012-12-03 20:00:00', 3]

['2012-12-03 23:59:59', 5]

pChart построит прямую линию, хотя на времязависимом графике она обязаны быть ломаной.


Также этот инструмент не может автоматически расставить координаты на оси абсцисс так, чтобы надписи не накладывались друг на друга.


Для сравнения, jQuery Flot построил мне более точный график из тех же данных и красиво расставил подписи абсцисс:
0964909bfcc1b7c47e73863adfac20d1.png


Реквестирую кошерный графопостроитель. Велосипед писать пока не хочется.
  • Вопрос задан
  • 4852 просмотра
Подписаться 5 Оценить 2 комментария
Пригласить эксперта
Ответы на вопрос 4
@justthefish
Если передумаете по поводу PHP, то вашу задачу вполне можно решить при помощи Node.js, модуля node-canvas и почти любой библиотеки для построения графиковб например flot.

Другой путь — взять исходники того же flot и переписать/сделать аналог на PHP. Либо использовать что-то вроде pChart.
Ответ написан
zenon
@zenon
Можно пойти другим путем. Если вам не принципиально именно на PHP, а достаточно получить картинку на стороне сервера, то посмотрите в сторону GnuPlot.

Это мощнейшая, полностью конфигурируемая система для построения графиков любой сложности. Вы ее можете установить на сервер, и использовать через вызов system. На вход она принимает текстовый файл с описанием параметров графика и входных данных, и генерирует файл изображения. Поддерживаются как растровые, так и векторные форматы.
Ответ написан
@Aios
Программист - Lite.
www.ebrueggeman.com/phpgraphlib/examples
Не понятно почему вам так интересен PHP… Почему для этого не использовать например HighCharts вы ведь снимаете нагрузку с сервера практически на нет и отдаете графикам только числа — дальше все зависит от оперативной памяти клиента и возможностей его браузера…
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы