
This example demonstrates creating a multi-color horizontal box-whisker chart.
XYChart.addBoxWhiskerLayer2 is used to create the multi-color box-whisker layer. The chart is set to horizontal orientation using XYChart.swapXY.
ChartDirector Ver 5.0 (PHP Edition)
Horizontal Box-Whisker Chart
Source Code Listing
<?php require_once("../lib/phpchartdir.php"); # Sample data for the Box-Whisker chart. Represents the minimum, 1st quartile, # medium, 3rd quartile and maximum values of some quantities $Q0Data = array(40, 45, 35); $Q1Data = array(55, 60, 50); $Q2Data = array(62, 70, 60); $Q3Data = array(70, 80, 65); $Q4Data = array(80, 90, 75); # The labels for the chart $labels = array("<*img=robot1.png*><*br*>Bipedal Type", "<*img=robot2.png*><*br*>Wolf Type", "<*img=robot5.png*><*br*>Bird Type"); # Create a XYChart object of size 540 x 320 pixels $c = new XYChart(540, 320); # swap the x and y axes to create a horizontal box-whisker chart $c->swapXY(); #Set directory for loading images to current script directory #Need when running under Microsoft IIS $c->setSearchPath(dirname(__FILE__)); # Set the plotarea at (75, 25) and of size 440 x 270 pixels. Enable both horizontal # and vertical grids by setting their colors to grey (0xc0c0c0) $plotAreaObj = $c->setPlotArea(75, 25, 440, 270); $plotAreaObj->setGridColor(0xc0c0c0, 0xc0c0c0); # Add a title to the chart $c->addTitle(" Robot Shooting Accuracy Scores"); # Set the labels on the x axis and the font to Arial Bold $labelsObj = $c->xAxis->setLabels($labels); $labelsObj->setFontStyle("arialbd.ttf"); # Disable x axis ticks by setting the length to 0 $c->xAxis->setTickLength(0); # Set the font for the y axis labels to Arial Bold $c->yAxis->setLabelStyle("arialbd.ttf"); # Add a Box Whisker layer using light blue 0x9999ff as the fill color and blue (0xcc) # as the line color. Set the line width to 2 pixels $boxWhiskerLayerObj = $c->addBoxWhiskerLayer2($Q3Data, $Q1Data, $Q4Data, $Q0Data, $Q2Data); $boxWhiskerLayerObj->setLineWidth(2); # Output the chart header("Content-type: image/png"); print($c->makeChart2(PNG)); ?> |