GraphClass v1.0 – графики это просто)
Часто возникает необходимость построить график чего-либо, это может быть и график посещаемости, и результаты голосования, сейчас вообще мало какой проект обходится без подобного функционала.
Я решил написать свой класс. Да есть много аналогов. И гугловские и другие. Но мне хотелось сделать простой класс для создания достаточно стильных графиков.
как это может выглядеть:
как работать с классом:
include 'class.graph.php';
$list=new GraphClass('ARIALN.TTF');
инициализируем класс и указываем файл шрифта (обязательно)
собираем массив с параметрами графика
синтаксис:
array(array(str 'name', int 'size'[,str 'color', int 'size2' - только для vector]),...);
пример:
$T=array(array('name'=>'VW Passat','size'=>1857,'color'=>'#ff0000'),
array('name'=>'ВАЗ 2112','size'=>1626,'color'=>'#111111'),
array('name'=>'ВАЗ 2109','size'=>1486,'color'=>'#013C5A'));
создаем график:
синтаксис:
$img=$list->viewGraph(str название графика,array параметры[, array размеры,str цвет,str тип]);
$img - объект графика
str тип - (
column - классический график
columnone - одноколоночный график
vector - векторный график
)
пример:
$img=$list->viewGraph('Посетители & браузеры',$T, array('width'=>400,'height'=>100), '#ff0000', 'columnone');
выводим результат:
синтаксис:
$list->returnImg($img,str type);
$img - объект графика
str type - (temp - выводит прямо в браузер, через png файл,
str filename - если указать файл с путем к нему, то будет создан файл с графиком, расширение берется из адреса
пример
$list->returnImg($img,'temp');
$list->returnImg($img,'img/1.png');
Набор default цветов можно настроеть в функции precolor()
вот вроде и все, удачной работы)
11 комментариев на GraphClass v1.0 – графики это просто)
Ваш отзыв
Классификатор
- JS (1)
- PHP (15)
- блогинг (4)
- Блогообзор (2)
- Веб-мастеру (10)
- интересное (18)
- Мой скрипт (10)
- Новости (12)
Теги
Поиск
Комментарии
- Konstantin к записи 370 запрещенных паролей твиттера
- Alexander к записи Постовой – плагин для WordPress
- LaaCrus к записи Старт блогообзора
- ИстинА к записи Работа с почтой средствами PHP
- Первый отчет по эксперименту с блогуном | 1000$ к записи Постовой – плагин для WordPress






Лихо. Удобный класс. Как говорится, просто и со вкусом.
А шрифт зачем обязательно ему подавать? Чтобы проблем с кирилицей не было?
да, что бы избежать проблем с кирилицей. И дать возможность подогнать график к дизайну сайта по максимому
[...] уже есть что почитать. Например, очень нужная статья – GraphClass v1.0 – графики это просто. Дмитрий написал свой php класс для работы с графиками. [...]
Добрый день!
Спасибо за класс. Кстати поискал в гугде про «гугловский аналог» – не нашел чего то (имею в виду класс PHP)
Хмм не могу правильно указать данные для построения векторного графика что то не так указываю в массиве =(
Понял почему не могу запустить
————————————
$T=array(
array(‘name’=>’VW Passat’,’size’=>10,’color’=>’#111111′,’size2′=>10),
array(‘name’=>’ВАЗ 2112′,’size’=>20,’color’=>’#111111′, ’size2′=>10),
array(‘name’=>’ВАЗ 2109′,’size’=>30,’color’=>’#111111′,’size2′=>10)
);
при size2 одинаковом график не строится хотя по сути должен отрисовать … или у меня с математикой плохо ….
Продолжаю эксперименты и данная фича очень мешает построению графика =( полезу копать исходник чтобы все корректно работало
и в правду есть такая проблема. Связана она с построением сетки, т.к. шаг рассчитывается на основе разничы между значениями.
В следующей версии будет исправлен.
Эт снова я… Насколько я понимаю новая версия не так уж и скоро будет. У меня возинкла необходимость устранить этот баг так как он накладывает определенные сложности на построение графкиов.
Не подскажите в каком месте класса нужно начинать ковырять чтобы устранить этот момент ?
Снайпер, я обновил версию класса. Можете скачать или сами внести изменения.
В приватной функции vector($p,$t)
перед строчкой
$wwX=$maxX;$wwY=$maxY+$minvhodY;$kvX=$wX;$kvY=$wY;
добавте
if($minvhodY==0)$minvhodY=$minY;if($minvhodX==0)$minvhodX=$minX;
это будет строка номер 152
Так, чисто из вредности
, исправь в самом классе – «заспростоняется по лицензие GPL «