Построение графики

Построение графики

Всем привет!
По наводке из статьи «pChart — строим графики и диаграммы на PHP» реализовал у себя построение графиков. Вот так выглядит:

Примеры это, конечно, хорошо, но практическая реализация может помочь в понимании. Моё применение под катом.

Фреймвоков для построения графиков много. Есть платные хорошие, есть бесплатные неплохие. Мне pChart показался достаточно удобным и функциональным. Итак к реализации.
pChart работает следующим образом. Заносит данные в свой массив, рисует картинку с графиком, сохраняет её на диск. Затем надо эту картинку отобразить в документе.

<head>
<?php 	/* Include all the classes pChart*/ 	include("class/pDraw.class.php"); 	include("class/pImage.class.php"); 	include("class/pData.class.php"); ?>
</head>
<?php $myData = new pData();  //Тут должно быть соединение с базой, выполнение запроса. while (list($dt,$sum) = mysql_fetch_row($result)) { 	/* Сохранение данных в массив */ 	$myData->addPoints($sum,"Total"); 	$myData->addPoints($dt,"Labels"); };  $unique = date("Y.m.d_H.i"); $gsFilename_Traffic = "traffic_".$unique.".png";  $myData->setSerieDescription("Labels","Days"); $myData->setAbscissa("Labels"); $myData->setAxisUnit(0," KB");  $serieSettings = array("R"=>229,"G"=>11,"B"=>11,"Alpha"=>100); $myData->setPalette("Total",$serieSettings);  $myPicture = new pImage(1250,400,$myData); // <-- Размер холста $myPicture->setFontProperties(array("FontName"=>"fonts/tahoma.ttf","FontSize"=>8)); $myPicture->setGraphArea(50,20,1230,380); // <-- Размещение графика на холсте $myPicture->drawScale(); $myPicture->drawBestFit(array("Alpha"=>40)); // <-- Прямая статистики  $myPicture->drawLineChart(); $myPicture->drawPlotChart(array("DisplayValues"=>FALSE,"PlotBorder"=>TRUE,"BorderSize"=>0,"Surrounding"=>-60,"BorderAlpha"=>50)); // <-- Точки на графике $myPicture->drawLegend(700,10,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));// <-- Размещение легенды $myPicture->Render("pChartPic\\".$gsFilename_Traffic); ?>
<br /><h3>Трафик</h3> <br /><IMG SRC="pChartPic/
<?php echo $gsFilename_Traffic; ?>
" />

Надеюсь, мой пример поможет новичкам (а, может, и не только). Пример простенький, ничего лишнего. Часто большего и не нужно. Дальше, при желании, можно наворачивать красивости.

Source: habr.com


Добавить комментарий