function pch_slicebar_graph($graph_type, $data, $period, $width, $height, $colors, $font, $round_corner, $font_size, $antialiasing = true)
{
    /* CAT:Slicebar charts */
    set_time_limit(0);
    // Dataset definition
    $myPicture = new pImage($width, $height);
    /* Turn of Antialiasing */
    $myPicture->Antialias = $antialiasing;
    $myPicture->setFontProperties(array("FontName" => $font, "FontSize" => $font_size, "R" => 80, "G" => 80, "B" => 80));
    // Round corners defined in global setup
    if ($round_corner != 0) {
        $radius = $height > 18 ? 8 : 0;
    } else {
        $radius = 0;
    }
    $thinest_slice = $width / $period;
    /* Color stuff */
    $colorsrgb = array();
    foreach ($colors as $key => $col) {
        $rgb = html2rgb($col);
        $colorsrgb[$key]['R'] = $rgb[0];
        $colorsrgb[$key]['G'] = $rgb[1];
        $colorsrgb[$key]['B'] = $rgb[2];
    }
    $i = 0;
    foreach ($data as $d) {
        $color = $d['data'];
        $color = $colorsrgb[$color];
        $ratio = $thinest_slice * $d['utimestamp'];
        $myPicture->drawRoundedFilledRectangle($i, 0, $ratio + $i, $height, $radius, array('R' => $color['R'], 'G' => $color['G'], 'B' => $color['B']));
        $i += $ratio;
    }
    if ($round_corner) {
        /* Under this value, the rounded rectangle is painted great */
        if ($thinest_slice <= 16) {
            /* Clean a bit of pixels */
            for ($i = 0; $i < 7; $i++) {
                $myPicture->drawLine(0, $i, 6 - $i, $i, array('R' => 255, 'G' => 255, 'B' => 255));
            }
            $end = $height - 1;
            for ($i = 0; $i < 7; $i++) {
                $myPicture->drawLine(0, $end - $i, 5 - $i, $end - $i, array('R' => 255, 'G' => 255, 'B' => 255));
            }
        }
    }
    $myPicture->drawRoundedRectangle(0, 0, $width, $height - 1, $radius, array('R' => 157, 'G' => 157, 'B' => 157));
    $myPicture->Stroke();
}
$Settings = array("R" => 170, "G" => 183, "B" => 87, "Dash" => 1, "DashR" => 190, "DashG" => 203, "DashB" => 107);
$myPicture->drawFilledRectangle(0, 0, 700, 230, $Settings);
/* Overlay with a gradient */
$Settings = array("StartR" => 219, "StartG" => 231, "StartB" => 139, "EndR" => 1, "EndG" => 138, "EndB" => 68, "Alpha" => 50);
$myPicture->drawGradientArea(0, 0, 700, 230, DIRECTION_VERTICAL, $Settings);
$myPicture->drawGradientArea(0, 0, 700, 20, DIRECTION_VERTICAL, array("StartR" => 0, "StartG" => 0, "StartB" => 0, "EndR" => 50, "EndG" => 50, "EndB" => 50, "Alpha" => 80));
/* Add a border to the picture */
$myPicture->drawRectangle(0, 0, 699, 229, array("R" => 0, "G" => 0, "B" => 0));
/* Write the picture title */
$myPicture->setFontProperties(array("FontName" => "../fonts/Silkscreen.ttf", "FontSize" => 6));
$myPicture->drawText(10, 13, "drawRoundedRectangle() - Transparency & colors", array("R" => 255, "G" => 255, "B" => 255));
/* Enable shadow computing */
$myPicture->setShadow(TRUE, array("X" => 1, "Y" => 1, "R" => 0, "G" => 0, "B" => 0, "Alpha" => 20));
/* Draw a rounded rectangle */
$RectangleSettings = array("R" => 181, "G" => 209, "B" => 27, "Alpha" => 100);
$myPicture->drawRoundedRectangle(20, 60, 400, 170, 10, $RectangleSettings);
/* Draw a rounded rectangle */
$RectangleSettings = array("R" => 209, "G" => 134, "B" => 27, "Alpha" => 30);
$myPicture->drawRoundedRectangle(30, 30, 200, 200, 10, $RectangleSettings);
/* Draw a rounded rectangle */
$RectangleSettings = array("R" => 209, "G" => 31, "B" => 27, "Alpha" => 100);
$myPicture->drawRoundedRectangle(480, 50, 650, 80, 5, $RectangleSettings);
/* Draw a rounded rectangle */
$RectangleSettings = array("R" => 209, "G" => 125, "B" => 27, "Alpha" => 100);
$myPicture->drawRoundedRectangle(480, 90, 650, 120, 5, $RectangleSettings);
/* Draw a rounded rectangle */
$RectangleSettings = array("R" => 209, "G" => 198, "B" => 27, "Alpha" => 100);
$myPicture->drawRoundedRectangle(480, 130, 650, 160, 5, $RectangleSettings);
/* Draw a rounded rectangle */
$RectangleSettings = array("R" => 134, "G" => 209, "B" => 27, "Alpha" => 100);
$myPicture->drawRoundedRectangle(480, 170, 650, 200, 5, $RectangleSettings);