function draw_data($tree) { global $im, $x0, $y0, $maxY, $scaleX, $scaleY, $color, $black; //imageline($im, $x0+$data_x[$i-1]*$scaleX, $maxY-$data_y[$i-1]*$scaleY, $x0+$data_x[$i]*$scaleX, $maxY-$data_y[$i]*$scaleY, $color); if (is_array($tree)) { draw_data($tree[0]); draw_data($tree[1]); } imageline($im, $x0 + $tree['x0'] * $scaleX, $maxY - $tree['y'] * $scaleY, $x0 + $tree['x1'] * $scaleX, $maxY - $tree['y'] * $scaleY, $color); imageline($im, $x0 + $tree['x0'] * $scaleX, $maxY - $tree['y'] * $scaleY, $x0 + $tree['x0'] * $scaleX, $maxY - $tree[0]['y'] * $scaleY, $color); imageline($im, $x0 + $tree['x1'] * $scaleX, $maxY - $tree['y'] * $scaleY, $x0 + $tree['x1'] * $scaleX, $maxY - $tree[1]['y'] * $scaleY, $color); }
//рисуем оси координат //вычисляем масштаб преобразования данных в координаты рабочей области $scaleX = 1; $scaleY = 1; //задаем шаг для координатной сетки в пикселах $xStep = 30; $yStep = 30; //рисуем координатную сетку draw_grid($xStep, $yStep, round($xStep / $scaleX, 1), round($yStep / $scaleY, 1), true); // ======================================================================================== // заносим данные из сессии в массив $pointData = $_SESSION['data1']; $coresData = $_SESSION['cores1']; define("CORE_WEIGHT", 10); define("POINT_WEIGHT", 3); // рисуем все точки for ($i = 0; $i < count($pointData); $i++) { $point = $pointData[$i]; draw_data($point['x'], $point['y'], POINT_WEIGHT, $color[$point['class']]); } // выделяем ядра for ($i = 0; $i < count($coresData); $i++) { $point = $pointData[$coresData[$i]]; draw_data($point['x'], $point['y'], CORE_WEIGHT, $color[$point['class']], true); } // ======================================================================================== ImagePNG($im); //выводим рисунок imagedestroy($im); //освобождаем занимаемую рисунком память unset($_SESSION);
function output_image() { global $page, $hour, $day, $month, $im, $iface; if ($page == 'summary') { return; } init_image(); if ($page == 'h') { draw_data($hour); } else { if ($page == 'd') { draw_data($day); } else { if ($page == 'm') { draw_data($month); } } } header('Content-type: image/png'); imagepng($im); }
function output_image() { global $page, $hour, $day, $month, $iface; if ($page == 'summary') { return; } init_image(); if ($page == 'h') { draw_data($hour); } else { if ($page == 'd') { draw_data($day); } else { if ($page == 'm') { draw_data($month); } } } svg_end(); }
for ($i = 0; $i < count($x); $i++) { $x[$i] -= $minXVal; $y[$i] -= $minYVal; } draw_data($x, $y, count($x), $red); //рисуем первый график if ($_SESSION['graph_x1']) { if (count($x1) == 1) { $x1[1] = $x1[0] - 0.01 * ($maxXVal - $minXVal); $y1[1] = $y1[0] - 0.01 * ($maxYVal - $minYVal); $x1[2] = $x1[1]; $y1[2] = $y1[1] + 0.02 * ($maxYVal - $minYVal); $x1[3] = $x1[2] + 0.02 * ($maxXVal - $minXVal); $y1[3] = $y1[2]; $x1[4] = $x1[3]; $y1[4] = $y1[3] - 0.02 * ($maxYVal - $minYVal); $x1[5] = $x1[4] - 0.02 * ($maxXVal - $minXVal); $y1[5] = $y1[4]; } for ($i = 0; $i < count($x1); $i++) { $x1[$i] -= $minXVal; $y1[$i] -= $minYVal; } draw_data($x1, $y1, count($x1), $blue); //рисуем второй график } ImagePNG($im); //выводим рисунок imagedestroy($im); //освобождаем занимаемую рисунком память unset($_SESSION[graph_x], $_SESSION[graph_y], $_SESSION[graph_x1], $_SESSION[graph_y1]);