Beispiel #1
0
$call_matiere = mysql_query("SELECT nom_complet FROM matieres WHERE matiere = '".$temp3[$i]."'");
$etiquettex[$i] = old_mysql_result($call_matiere, "0", "nom_complet");
*/
$etiquettex[$i]=$temp3[$i];
$i++;
}


        $graph = new Graph(600, 400);
        $graph->setAntiAliasing(TRUE);
        $blue = new Color(0, 0, 200);
        $red = new Color(200, 0, 0);
        $group = new PlotGroup();
        $group->setPadding(40, 40,60,100);
        $group->setBackgroundColor(
            new Color(240, 240, 240)
        );

        $k = 1;
        while ($k < $nb_data) {

            $plot = new BarPlot($datay1[$k], $k, $nb_data-1);

            $plot->barBorder->setColor(new Color(0, 0, 0, 30));

            $plot->setBarPadding(0.1, 0.1);
            $plot->setBarSpace(0);

            $plot->barShadow->setSize(0);
            $plot->barShadow->setPosition(SHADOW_RIGHT_TOP);
            $plot->barShadow->setColor(new Color(180, 180, 180, 10));
Beispiel #2
0
/**
* Формирование графика.
*
* Функция формирует, а затем записывает в файл ($File) изображение графика по
* переданным пользователем данным($Lines). Данная функция может рисовать как одиночные,
* так и многолинейные графики.Исходными данными является массив, элементы которого также
* является массивами исходных данных для соответствующих графиков (данная структура
* сохраняется и для одиночных графиков!). Цвет каждой линии передается в массиве
* $Colors, ключи которого совпадают с ключами массива исходных данных. Цвет задается
* шестнадцатиричным кодом цвета (например, 0x000000 для черного цвета).
*
* @param string  <заголовок диаграммы>
* @param string  <полный путь с именем файла-результата>
* @param array   <исходные данные>
* @param array   <подписи к оси Ox>
* @param array   <цвета линий>
*/
function Artichow_Line($Name, $File, $Lines, $Labels, $Colors)
{
    #-----------------------------------------------------------------------------
    $Graph = new Graph(1000, 300);
    $Graph->setDriver('gd');
    $Graph->setAntiAliasing(TRUE);
    #-----------------------------------------------------------------------------
    $Graph->title->set($Name);
    $Graph->title->setFont(new Tuffy(15));
    $Graph->title->move(0, -5);
    #-----------------------------------------------------------------------------
    if (Count($Lines) > 1) {
        #---------------------------------------------------------------------------
        $Group = new PlotGroup();
        $Group->setPadding(40, 40);
        $Group->setBackgroundColor(new Color(240, 240, 240));
    }
    #-----------------------------------------------------------------------------
    $IsSetLabel = FALSE;
    #-----------------------------------------------------------------------------
    foreach ($Lines as $LineID => $Line) {
        #---------------------------------------------------------------------------
        $Plot = new LinePlot($Line);
        $Color = Color_RGB_Explode($Colors[$LineID]);
        $Plot->setColor(new Color($Color['R'], $Color['G'], $Color['B']));
        $Plot->setThickness(1);
        $Plot->setBackgroundGradient(new LinearGradient(new Color(240, 240, 240), new Color(255, 255, 255), 0));
        $Plot->setFillGradient(new LinearGradient(new LightOrange(10), new VeryLightOrange(90), 90));
        $Plot->setPadding(50, 50, 50, 50);
        #---------------------------------------------------------------------------
        $Plot->mark->setType(Mark::CIRCLE);
        $Plot->mark->setSize(5);
        #---------------------------------------------------------------------------
        $Plot->label->set($Line);
        $Plot->label->move(0, -15);
        $Plot->label->setBackgroundGradient(new LinearGradient(new Color(250, 250, 250, 10), new Color(255, 200, 200, 30), 0));
        $Plot->label->border->setColor(new Color(20, 20, 20, 20));
        $Plot->label->setPadding(2, 2, 2, 2);
        #---------------------------------------------------------------------------
        if (Count($Lines) < 2) {
            #-------------------------------------------------------------------------
            $Plot->xAxis->setLabelText($Labels);
            $Plot->yAxis->setLabelPrecision(1);
        } else {
            #-------------------------------------------------------------------------
            if (!$IsSetLabel) {
                #-----------------------------------------------------------------------
                $Plot->setXAxis(Plot::BOTTOM);
                $IsSetLabel = TRUE;
            }
        }
        #---------------------------------------------------------------------------
        if (Count($Lines) > 1) {
            $Group->add($Plot);
        }
        #---------------------------------------------------------------------------
        if (Count($Lines) > 1) {
            #-------------------------------------------------------------------------
            $Graph->add($Group);
            #-------------------------------------------------------------------------
            $Group->axis->bottom->setTickStyle(0);
            $Group->axis->bottom->setLabelText($Labels);
        } else {
            $Graph->add($Plot);
        }
    }
    #-----------------------------------------------------------------------------
    $Graph->draw($File);
    #-----------------------------------------------------------------------------
    return TRUE;
}
function color($a = NULL)
{
    if ($a === NULL) {
        $a = 0;
    }
    return new Color(mt_rand(20, 180), mt_rand(20, 180), mt_rand(20, 180), $a);
}
function getPerCent($value)
{
    return sprintf('%.1f', $value) . ' %';
}
$graph = new Graph(450, 400);
$graph->setTiming(TRUE);
$graph->setAntiAliasing(TRUE);
$group = new PlotGroup();
$group->setBackgroundColor(color(80));
$group->setXAxisZero(FALSE);
$group->title->set("Some lines");
$group->title->setBackgroundColor(new Color(255, 255, 255, 25));
$group->title->border->show();
$group->title->setPadding(3, 3, 3, 3);
$group->title->move(0, -15);
$group->setPadding(45, NULL, 45, NULL);
$group->axis->left->setLabelNumber(mt_rand(0, 10));
$group->axis->left->label->setCallbackFunction('getPerCent');
foreach (array('left', 'right') as $axis) {
    $group->axis->{$axis}->setTickStyle(TICK_OUT);
}
foreach (array('top', 'bottom') as $axis) {
    $group->axis->{$axis}->setTickStyle(TICK_OUT);
}
<?php

/*
 * This work is hereby released into the Public Domain.
 * To view a copy of the public domain dedication,
 * visit http://creativecommons.org/licenses/publicdomain/ or send a letter to
 * Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
 *
 */
require_once "../../LinePlot.class.php";
$graph = new Graph(300, 200);
$graph->setAntiAliasing(TRUE);
$group = new PlotGroup();
$group->setXAxisZero(FALSE);
$group->grid->setType(LINE_DASHED);
$group->setBackgroundColor(new Color(197, 180, 210, 80));
$group->setPadding(40, NULL, 20, NULL);
$group->axis->left->setLabelNumber(8);
$group->axis->left->setLabelPrecision(1);
$group->axis->left->setTickStyle(TICK_OUT);
$x = array(NULL);
for ($i = 1; $i < 10; $i++) {
    $x[] = cos($i * M_PI / 8) - 1;
}
$plot = new LinePlot($x);
$plot->setXAxis(PLOT_TOP);
$plot->setColor(new Color(40, 40, 150, 10));
$plot->setFillColor(new Color(40, 40, 150, 90));
$plot->mark->setType(MARK_BOOK);
$plot->mark->move(mt_rand(0, 10), mt_rand(0, 10));
$group->add($plot);
<?php

require_once "../ScatterPlot.class.php";
$graph = new Graph(400, 400);
$group = new PlotGroup();
$group->setBackgroundColor(new VeryLightGray());
$group->setPadding(30, 30, 30, 30);
$group->setSpace(5, 5, 5, 5);
$group->legend->setPosition(0.5, 0.62);
$group->legend->setAlign(LEGEND_CENTER, LEGEND_MIDDLE);
function getCircle($size)
{
    $center = 0;
    $x = array();
    $y = array();
    for ($i = 0; $i <= 30; $i++) {
        $rad = $i / 30 * 2 * M_PI;
        $x[] = $center + cos($rad) * $size;
        $y[] = $center + sin($rad) * $size;
    }
    return array($x, $y);
}
list($x, $y) = getCircle(3);
$plot = new ScatterPlot($y, $x);
$plot->link(TRUE, new DarkBlue());
$plot->mark->setFill(new DarkPink());
$plot->mark->setType(MARK_CIRCLE, 6);
$group->legend->add($plot, 'Circle #1', LEGEND_MARK);
$group->add($plot);
list($x, $y) = getCircle(5);
$plot = new ScatterPlot($y, $x);
//$graph = new Graph(388, 200);
$graph = new Graph(370, 200);

   // définition des couleur bleu et rouge
   $bleu = new Color(0, 0, 200);
   $rouge = new Color(200, 0, 0);

   $group = new PlotGroup;
   // padding du graphique
   $group->setPadding(40, 40);
   // décalement du 0 et de la fin
//   $group->setSpace(4, 4, 10, 0);
   // couleur de fond du graphique
   $group->setBackgroundColor(
      new Color(255, 255, 255)
   );

//   $values_absences = array(12, 5, 20, 32, 15, 4, 12, 5, 20, 32, 15, 4);
	$values_absences = $_SESSION['axe_y_abs'];
//   $values_retards = array(1, 0, 0, 2, 0, 0, 0, 0, 0, 2, 0, 0);
	$values_retards = $_SESSION['axe_y_ret'];
//   $x = array('jan.', 'fev.', 'mar.', 'avr.', 'mai', 'jui.', 'juil.', 'aou.', 'sep.', 'oct.', 'nov.', 'dec.');
	$x = $_SESSION['axe_x'];


   // les absences
   $plot = new LinePlot($values_absences);
   $plot->setColor($rouge);
   $plot->setYAxis(PLOT_LEFT); //Plot::LEFT
	// épaisseur du trait
Beispiel #7
0
    $plot = new ScatterPlot(array_values($val_ytd), array_values($xkeys));
    $plot->link(TRUE, make_color('ytd_color', '40FFFF'));
    $plot->mark->setSize(make_num('ytd_mark', 10));
    $plot->mark->setFill(make_color('ytd_markcolor', 'F0F0F0'));
    $plot->setThickness(make_num('ytd_thick', 5));
    $plot->setYAxis(PLOT_LEFT);
    $plot->setYMin($min);
    $plot->setYMax($max);
    $grp->add($plot);
}
$grp->axis->bottom->setLabelText(array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'));
$grp->axis->left->label->setCallbackFunction('FmtAmount');
set_font($grp->axis->bottom->label, 'x_font');
set_font($grp->axis->left->label, 'y_font');
set_font($grp->axis->right->label, 'y_font');
$graph->border->hide();
$grp->setBackgroundColor(make_color('bg_color', 'FFFFFF'));
$grp->grid->setBackgroundColor(make_color('bg_plot_color', 'FFFFFF'));
$graph->add($grp);
$graph->draw();
// # Transpose array ($foo['baz']['bar'] --> $foo['bar']['baz'])
function a_t($array)
{
    $r = array();
    foreach ($array as $k1 => $ia) {
        foreach ($ia as $k2 => $v) {
            $r[$k2][$k1] = $v;
        }
    }
    return $r;
}