Example #1
0
<?php

require '../lib/PieChart.php';
$chart = new PieChart('p', 130, 100);
$chart->setDataFormat(Chart::SIMPLE_ENCODING);
$data = new ChartData(array(80, -20));
$data->setColor('f9f900');
$chart->addData($data);
// I pass null to enable the "legend" trick
$data = new ChartData(null);
$data->setColor('ffffff');
$data->setLegend('O O O');
$chart->addData($data);
$chart->setLegendPosition('r');
$chart->setRotation(0.628);
if (isset($_GET['debug'])) {
    var_dump($chart->getQuery());
    echo $chart->validate();
    echo $chart->toHtml();
} else {
    header('Content-Type: image/png');
    echo $chart;
}
<?php

require '../../lib/BarChart.php';
?>

<h2>No autoscaling</h2>
<?php 
$values1 = array(-10, 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110);
$values2 = array(10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130);
$chart = new BarChart('bvg', 500, 200);
$chart->setDataFormat(Chart::TEXT);
$chart->setAutoscale(Chart::AUTOSCALE_OFF);
$data1 = new ChartData($values1);
$data1->setAutoscale(false);
$chart->addData($data1);
$data2 = new ChartData($values2);
$data2->setColor('336699');
$data2->setAutoscale(false);
$chart->addData($data2);
$y_axis = new ChartAxis('y');
$chart->addAxis($y_axis);
echo $chart->toHtml();
var_dump($chart->getQuery());
?>

<h2>Chart-wide manual scaling (text encoding)</h2>
<?php 
$chart->setScale(-10, 130);
echo $chart->toHtml();
var_dump($chart->getQuery());
?>
Example #3
0
require '../lib/Chart.php';
require '../lib/markers/ChartLineMarker.php';
require '../lib/markers/ChartShapeMarker.php';
$values = array(array(), array(), array());
for ($i = 0; $i <= 10; $i += 1) {
    $v = rand(20, 80);
    $values[0][] = $v;
    $values[1][] = rand(0, 20);
    $values[2][] = $v + rand(-10, 10);
}
$chart = new Chart('bvs', 500, 200);
$chart->setScale(0, 100);
$data0 = new ChartData($values[0]);
$chart->addData($data0);
$data1 = new ChartData($values[1]);
$data1->setColor(array('FFC6A5', 'FFFF42', 'DEF3BD', '00A5C6', 'DEBDDE'));
$chart->addData($data1);
$marker = new ChartLineMarker();
$marker->setData($data0);
$marker->setSize(5);
$marker->setPoints(5);
$chart->addMarker($marker);
$marker = new ChartLineMarker();
$marker->setData($data0);
$marker->setColor('6699cc');
$marker->setSize(5);
$marker->setPoints(0, 5);
$marker->setZOrder(-0.5);
$chart->addMarker($marker);
$data2 = new ChartData($values[2]);
<?php

require '../../lib/BarChart.php';
?>

<h2>Chart autoscaling by values (text encoding)</h2>
<?php 
$values1 = array(-10, 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110);
$values2 = array(10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130);
$chart = new BarChart('bvg', 500, 200);
$chart->setDataFormat(Chart::TEXT);
$chart->setAutoscale(Chart::AUTOSCALE_VALUES);
$data = new ChartData($values1);
$chart->addData($data);
$data = new ChartData($values2);
$data->setColor('336699');
$chart->addData($data);
$y_axis = new ChartAxis('y');
$chart->addAxis($y_axis);
echo $chart->toHtml();
var_dump($chart->getQuery());
?>

<h2>Chart autoscaling by values (simple encoding)</h2>
<?php 
$chart->setDataFormat(Chart::SIMPLE_ENCODING);
echo $chart->toHtml();
var_dump($chart->getQuery());
Example #5
0
$chart->setTitleColor('999999')->setTitleSize(20);
$line = new ChartData($values[0]);
$line->setLegend('Us');
$chart->addData($line);
$marker = new ChartShapeMarker(ChartShapeMarker::X);
$marker->setData($line);
$marker->setColor('6699cc');
$chart->addMarker($marker);
$marker = new ChartTextMarker(ChartTextMarker::VALUE);
$marker->setData($line);
$chart->addMarker($marker);
$line = new ChartData($values[1]);
$line->setDash(2, 2);
$line->setColor('6699cc');
$chart->addData($line);
$line = new ChartData($values[2]);
$line->setLegend('The others');
$line->setColor('ff0000');
$chart->addData($line);
$marker = new ChartShapeMarker(ChartShapeMarker::CIRCLE);
$marker->setData($line);
$marker->setColor('ff0000');
$chart->addMarker($marker);
$y_axis = new ChartAxis('y');
$chart->addAxis($y_axis);
$x_axis = new ChartAxis('x');
$x_axis->setTickMarks(5);
$x_axis->setDrawLine(false);
$x_axis->setTickColor('ff0000');
$chart->addAxis($x_axis);
if (isset($_GET['debug'])) {
Example #6
0
<?php

/**
 * This chart could use the undocumented parameter "lfi".
 * See http://cse-mjmcl.cse.bris.ac.uk/blog/2007/12/23/1198436217875.html
 */
require '../lib/Chart.php';
$values = array(34, 18, 21, 70, 53, 39, 39, 30, 13, 15, 4, 8, 5, 8, 4, 8, 44, 16, 16, 3, 10, 7, 5, 20, 20, 28, 44);
$chart = new Chart('ls', 75, 30);
$data = new ChartData($values);
$data->setThickness(1);
$data->setColor('0077CC');
$data->setFill('E6F2FA');
$chart->addData($data);
if (isset($_GET['debug'])) {
    var_dump($chart->getQuery());
    echo $chart->validate();
    echo $chart->toHtml();
} else {
    header('Content-Type: image/png');
    echo $chart;
}
Example #7
0
$values = array(34, 18, 21, 70, 53, 39, 39, 30, 13, 15, 4, 8, 5, 8, 4, 8, 44, 16, 16, 3, 10, 7, 5, 20, 20, 28, 44, null);
$line = new ChartData($values);
$line->setColor('000000');
$line->setThickness(3);
$line->setFill('eeeeee');
$chart->addData($line);
$m = new ChartShapeMarker(ChartShapeMarker::CIRCLE);
$m->setData($line);
$m->setColor('000000');
$m->setSize(7);
$m->setBorder(2);
$chart->addMarker($m);
$values = array_fill(0, sizeof($values) - 2, null);
$values[] = 44;
$values[] = 34;
$line2 = new ChartData($values);
$line2->setColor('000000');
$line2->setThickness(3);
$line2->setDash(4, 2);
$line2->setFill('eeeeee');
$chart->addData($line2);
$m = new ChartShapeMarker(ChartShapeMarker::CIRCLE);
$m->setData($line2);
$m->setColor('ffffff');
$m->setSize(4);
$m->setBorder(4, '000000');
$m->setPoints(-1);
$chart->addMarker($m);
$y_axis = new ChartAxis('y');
$y_axis->setDrawLine(false);
$y_axis->setDrawTickMarks(false);
}
$chart = new Chart('lc', 500, 200);
$chart->setGridLines(25, 50, 1, 1);
$chart->setMargin(30, 50);
$chart->setLegendSize(100, 10);
$chart->setFill('333333');
$chart->setFill('444444', Chart::CHART_AREA);
$chart->setTitle('Sinus & Cosinus');
$chart->setTitleColor('FFFFFF');
$chart->setTitleSize(18);
$sin = new ChartData($sin);
$sin->setLegend('Sinus');
$sin->setThickness(2);
$sin->setColor('D1F2A5');
$chart->addData($sin);
$cos = new ChartData($cos);
$cos->setLegend('Cosinus');
$cos->setThickness(2);
$cos->setColor('F56991');
$chart->addData($cos);
$y_axis = new ChartAxis('y');
$y_axis->setDrawLine(false);
$y_axis->setRange(-1, 1);
$y_axis->setLabelColor('ffffff');
$chart->addAxis($y_axis);
$x_axis = new ChartAxis('x');
$x_axis->setDrawLine(false);
$x_axis->setRange(0, 360);
$x_axis->setLabels(array(0, 90, 180, 270, 360));
$x_axis->setLabelColor('ffffff');
$chart->addAxis($x_axis);
Example #9
0
<?php

require '../../lib/BarChart.php';
?>

<h2>Data autoscaling (text format)</h2>
<?php 
$values1 = array(-10, 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110);
$values2 = array(10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130);
$chart = new BarChart('bvg', 500, 200);
$chart->setDataFormat(Chart::TEXT);
$chart->setAutoscale(Chart::AUTOSCALE_OFF);
$data = new ChartData($values1);
$data->setAutoscale(true);
$chart->addData($data);
$data = new ChartData($values2);
$data->setColor('336699');
$data->setAutoscale(true);
$chart->addData($data);
$y_axis = new ChartAxis('y');
$chart->addAxis($y_axis);
echo $chart->toHtml();
var_dump($chart->getQuery());
?>

<h2>Data autoscaling (simple encoding)</h2>
<?php 
$chart->setDataFormat(Chart::SIMPLE_ENCODING);
echo $chart->toHtml();
var_dump($chart->getQuery());
?>
Example #10
0
 /**
  * Add a data serie to the chart.
  *
  * @param $data (ChartData)
  * @see ChartData
  */
 public function addData(ChartData $data)
 {
     if ($data->hasIndex()) {
         throw new LogicException('Invalid data serie. This data serie has already been added.');
     }
     $index = array_push($this->data, $data);
     $data->setIndex($index - 1);
     return $this;
 }