<?php /* CAT:Scatter chart */ /* pChart library inclusions */ include "../class/pData.class.php"; include "../class/pDraw.class.php"; include "../class/pImage.class.php"; include "../class/pScatter.class.php"; /* Create the pData object */ $myData = new pData(); /* Create the X axis and the binded series */ for ($i = 0; $i <= 360; $i = $i + 10) { $myData->addPoints(cos(deg2rad($i)) * 20, "Probe 1"); } $myData->setAxisName(0, "X-Index"); $myData->setAxisXY(0, AXIS_X); $myData->setAxisPosition(0, AXIS_POSITION_BOTTOM); /* Create the Y axis and the binded series */ for ($i = 0; $i <= 360; $i = $i + 10) { $myData->addPoints(sin(deg2rad(30 - $i)) * 20, "Probe 2"); } $myData->setSerieOnAxis("Probe 2", 1); $myData->setAxisName(1, "Y-Index"); $myData->setAxisXY(1, AXIS_Y); $myData->setAxisPosition(1, AXIS_POSITION_RIGHT); /* Create the 1st scatter chart binding */ $myData->setScatterSerie("Probe 1", "Probe 2", 0); $myData->setScatterSerieDescription(0, "Trigonometric function"); $myData->setScatterSerieTicks(0, 4); $myData->setScatterSerieColor(0, array("R" => 180, "G" => 0, "B" => 0)); $myData->setScatterSeriePicture(0, "resources/chart_line.png");
protected function buildCostPerKmChartData($cd = array()) { if (!$cd) { $cd = parent::buildCostPerKmChartData(); } if (!$cd) { return $cd; } $this->setOption('title', $cd['title']); $myData = new pData(); $x_id = $cd['x']['id']; $myData->addPoints($cd['x']['values'], $x_id); $myData->setAxisName(0, $cd['x']['description']); $myData->setAxisXY(0, AXIS_X); $myData->setAxisPosition(0, AXIS_POSITION_BOTTOM); $is_date = $this->getParameter('range_type') == 'date' ? true : false; $display_mode = $is_date ? AXIS_FORMAT_DATE : AXIS_FORMAT_DEFAULT; $display_format = $is_date ? 'd-M-Y' : null; $myData->setAxisDisplay(0, $display_mode, $display_format); foreach ($cd['y']['series'] as $key => $serie) { $values = $this->filterNulls($cd['y']['series'][$key]['values']); if (!$values) { continue; } $y_id = $cd['y']['series'][$key]['id']; $myData->addPoints($values, $y_id); $myData->setSerieOnAxis($y_id, 1); $myData->setScatterSerie($x_id, $y_id, $key); $myData->setScatterSerieDescription($key, $cd['y']['series'][$key]['label']); $myData->setScatterSerieWeight($key, 0.7); } $myData->setAxisName(1, $cd['y']['description']); $myData->setAxisXY(1, AXIS_Y); $myData->setAxisPosition(1, AXIS_POSITION_LEFT); return $myData; }