Code:
<?php
/**
* Usage example for Image_Graph.
*
* Main purpose:
* Show stacked bar chart
*
* Other:
* Data selector
* Fill style array (no ID) working in sync with legend
*
* $Id: plot_bar_stacked.php,v 1.4 2005/08/24 16:02:48 nosey Exp $
*
* @package Image_Graph
* @author Jesper Veggerby <pear.nosey@veggerby.dk>
*/
require_once 'Image/Graph.php';
// create the graph
$Graph =& Image_Graph::factory('graph', array(700, 700));
// add a TrueType font
$Font =& $Graph->addNew('font', 'Verdana');
// set the font size to 11 pixels
$Font->setSize(9);
$Graph->setFont($Font);
$Graph->add(
Image_Graph::vertical(
Image_Graph::factory('title', array('Bezetting Domeinen', 12)),
Image_Graph::vertical(
$Plotarea = Image_Graph::factory('plotarea'),
$Legend = Image_Graph::factory('legend'),
90
),
5
)
);
$Legend->setPlotarea($Plotarea);
$fillstyle=Image_Graph::factory('Image_Graph_Fill_Array');
// create the dataset
$Dataset_NL =& Image_Graph::factory('dataset');
$Dataset_NL->setName('.NL');
$Dataset_NL->addPoint('Januari' , 1);
$Dataset_NL->addPoint('Februari' , 1);
$Dataset_NL->addPoint('Maart' , 3);
$Dataset_NL->addPoint('April' , 14);
$Dataset_NL->addPoint('Mei' , 20);
$Dataset_NL->addPoint('Juni' , 20);
$Dataset_NL->addPoint('Juli' , 20);
$Dataset_NL->addPoint('Augustus' , 22);
$Dataset_NL->addPoint('September' , 23);
$Dataset_NL->addPoint('Oktober' , 26);
$Dataset_NL->addPoint('November' , 30);
$Dataset_NL->addPoint('December' , 33);
//$Dataset_BE = $Dataset_NL;
$Dataset_BE =& Image_Graph::factory('dataset');
$Dataset_BE->setName('.BE');
$Dataset_BE->addPoint('Januari' , 0);
$Dataset_BE->addPoint('Februari' , 0);
$Dataset_BE->addPoint('Maart' , 0);
$Dataset_BE->addPoint('April' , 0);
$Dataset_BE->addPoint('Mei' , 0);
$Dataset_BE->addPoint('Juni' , 0);
$Dataset_BE->addPoint('Juli' , 0);
$Dataset_BE->addPoint('Augustus' , 0);
$Dataset_BE->addPoint('September' , 0);
$Dataset_BE->addPoint('Oktober' , 0);
$Dataset_BE->addPoint('November' , 0);
$Dataset_BE->addPoint('December' , 0);
$Dataset_COM =& Image_Graph::factory('dataset');
$Dataset_COM->setName('.COM');
$Dataset_COM->addPoint('Januari' , 0);
$Dataset_COM->addPoint('Februari' , 0);
$Dataset_COM->addPoint('Maart' , 0);
$Dataset_COM->addPoint('April' , 0);
$Dataset_COM->addPoint('Mei' , 0);
$Dataset_COM->addPoint('Juni' , 0);
$Dataset_COM->addPoint('Juli' , 0);
$Dataset_COM->addPoint('Augustus' , 0);
$Dataset_COM->addPoint('September' , 0);
$Dataset_COM->addPoint('Oktober' , 0);
$Dataset_COM->addPoint('November' , 0);
$Dataset_COM->addPoint('December' , 0);
$Dataset_NET =& Image_Graph::factory('dataset');
$Dataset_NET->setName('.NET');
$Dataset_NET->addPoint('Januari' , 0);
$Dataset_NET->addPoint('Februari' , 0);
$Dataset_NET->addPoint('Maart' , 0);
$Dataset_NET->addPoint('April' , 0);
$Dataset_NET->addPoint('Mei' , 0);
$Dataset_NET->addPoint('Juni' , 0);
$Dataset_NET->addPoint('Juli' , 0);
$Dataset_NET->addPoint('Augustus' , 0);
$Dataset_NET->addPoint('September' , 0);
$Dataset_NET->addPoint('Oktober' , 0);
$Dataset_NET->addPoint('November' , 0);
$Dataset_NET->addPoint('December' , 0);
$Dataset_ORG =& Image_Graph::factory('dataset');
$Dataset_ORG->setName('.ORG');
$Dataset_ORG->addPoint('Januari' , 0);
$Dataset_ORG->addPoint('Februari' , 0);
$Dataset_ORG->addPoint('Maart' , 0);
$Dataset_ORG->addPoint('April' , 0);
$Dataset_ORG->addPoint('Mei' , 0);
$Dataset_ORG->addPoint('Juni' , 0);
$Dataset_ORG->addPoint('Juli' , 0);
$Dataset_ORG->addPoint('Augustus' , 0);
$Dataset_ORG->addPoint('September' , 0);
$Dataset_ORG->addPoint('Oktober' , 0);
$Dataset_ORG->addPoint('November' , 0);
$Dataset_ORG->addPoint('December' , 0);
$Dataset_EU =& Image_Graph::factory('dataset');
$Dataset_EU->setName('.EU');
$Dataset_EU->addPoint('Januari' , 0);
$Dataset_EU->addPoint('Februari' , 0);
$Dataset_EU->addPoint('Maart' , 0);
$Dataset_EU->addPoint('April' , 0);
$Dataset_EU->addPoint('Mei' , 0);
$Dataset_EU->addPoint('Juni' , 0);
$Dataset_EU->addPoint('Juli' , 0);
$Dataset_EU->addPoint('Augustus' , 0);
$Dataset_EU->addPoint('September' , 0);
$Dataset_EU->addPoint('Oktober' , 0);
$Dataset_EU->addPoint('November' , 0);
$Dataset_EU->addPoint('December' , 0);
$Datasets = array (
/* .nl */ $Dataset_NL,
/* .be */ $Dataset_BE,
/* .com */ $Dataset_COM,
/* .net */ $Dataset_NET,
/* .org */ $Dataset_ORG,
/* .eu */ $Dataset_EU
);
// create the 1st plot as smoothed area chart using the 1st dataset
$Plot =& $Plotarea->addNew('bar', array($Datasets, 'stacked'));
// set a line color
$Plot->setLineColor('gray');
$fillstyle->add(Image_Graph::factory('gradient', array(IMAGE_GRAPH_GRAD_VERTICAL, '#ff8205', '#ffe016')));
$fillstyle->add(Image_Graph::factory('gradient', array(IMAGE_GRAPH_GRAD_VERTICAL, '#009100', '#00df00')));
$fillstyle->add(Image_Graph::factory('gradient', array(IMAGE_GRAPH_GRAD_VERTICAL, '#860000', '#fc0000')));
$fillstyle->add(Image_Graph::factory('gradient', array(IMAGE_GRAPH_GRAD_VERTICAL, '#ff00ff', '#ff8eff')));
$fillstyle->add(Image_Graph::factory('gradient', array(IMAGE_GRAPH_GRAD_VERTICAL, '#0000ff', '#008eff')));
$fillstyle->add(Image_Graph::factory('gradient', array(IMAGE_GRAPH_GRAD_VERTICAL, '#9932cc', '#cc99cc')));
// set a standard fill style
$Plot->setFillStyle($fillstyle);
// create a Y data value marker
$Marker =& $Plot->addNew('Image_Graph_Marker_Value', IMAGE_GRAPH_VALUE_Y);
// and use the marker on the 1st plot
$Plot->setMarker($Marker);
$Plot->setDataSelector(Image_Graph::factory('Image_Graph_DataSelector_NoZeros'));
$YAxis =& $Plotarea->getAxis(IMAGE_GRAPH_AXIS_Y);
$YAxis->setTitle('Domeinen', 'vertical');
$XAxis =& $Plotarea->getAxis(IMAGE_GRAPH_AXIS_X);
$XAxis->setTitle('Maand', array('size' => 10, 'angle' => 0));
$XAxis->setFontAngle('vertical');
$XAxis->setLabelInterval(1);
// output the Graph
$Graph->done();
?>
Echter wat schets mijn verbazing, ongeacht welke Angle ik in stel voor de XAxis, hij blijft over de bars heen lopen. Ik krijg hem met geen mogelijkheid onder de axis lijn.