Ejemplo n.º 1
0
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);
}
Ejemplo n.º 2
0
//рисуем оси координат
//вычисляем масштаб преобразования данных в координаты рабочей области
$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);
Ejemplo n.º 3
0
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);
}
Ejemplo n.º 4
0
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();
}
Ejemplo n.º 5
0
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]);