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"); /* Create the pChart object */ $myPicture = new pImage(400, 400, $myData); /* Draw the background */ $Settings = array("R" => 170, "G" => 183, "B" => 87, "Dash" => 1, "DashR" => 190, "DashG" => 203, "DashB" => 107); $myPicture->drawFilledRectangle(0, 0, 400, 400, $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, 400, 400, DIRECTION_VERTICAL, $Settings); $myPicture->drawGradientArea(0, 0, 400, 20, DIRECTION_VERTICAL, array("StartR" => 0, "StartG" => 0, "StartB" => 0, "EndR" => 50, "EndG" => 50, "EndB" => 50, "Alpha" => 80)); /* Write the picture title */ $myPicture->setFontProperties(array("FontName" => "../fonts/Silkscreen.ttf", "FontSize" => 6));
$myData->addPoints(array(8, 8, 8, 8, 8, 8, 8, 19, 8, 8, 8), "X4"); $myData->addPoints(array(6.58, 5.76, 7.71, 8.84, 8.470000000000001, 7.04, 5.25, 12.5, 5.56, 7.91, 6.89), "Y4"); /* Create the X axis */ $myData->setAxisName(0, "X"); $myData->setAxisXY(0, AXIS_X); $myData->setAxisPosition(0, AXIS_POSITION_BOTTOM); /* Create the Y axis */ $myData->setSerieOnAxis("Y1", 1); $myData->setSerieOnAxis("Y2", 1); $myData->setSerieOnAxis("Y3", 1); $myData->setSerieOnAxis("Y4", 1); $myData->setAxisName(1, "Y"); $myData->setAxisXY(1, AXIS_Y); $myData->setAxisPosition(1, AXIS_POSITION_LEFT); /* Create the scatter chart binding */ $myData->setScatterSerie("X1", "Y1", 0); $myData->setScatterSerie("X2", "Y2", 1); $myData->setScatterSerie("X3", "Y3", 2); $myData->setScatterSerie("X4", "Y4", 3); $myData->setScatterSerieDrawable(1, FALSE); $myData->setScatterSerieDrawable(2, FALSE); $myData->setScatterSerieDrawable(3, FALSE); /* Create the pChart object */ $myPicture = new pImage(800, 582, $myData); /* Draw the background */ $Settings = array("R" => 170, "G" => 183, "B" => 87, "Dash" => 1, "DashR" => 190, "DashG" => 203, "DashB" => 107); $myPicture->drawFilledRectangle(0, 0, 800, 582, $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, 800, 582, DIRECTION_VERTICAL, $Settings); /* Add a border to the picture */
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; }
$myData->setAxisXY(0, AXIS_X); $myData->setAxisPosition(0, AXIS_POSITION_BOTTOM); /* Create the Y axis */ $myData->createFunctionSerie("Y", "z", array("MinX" => -10, "MaxX" => 10, "XStep" => 1)); $myData->setSerieOnAxis("Y", 1); $myData->setAxisName(1, "y = z"); $myData->setAxisXY(1, AXIS_Y); $myData->setAxisPosition(1, AXIS_POSITION_RIGHT); /* Create the Y axis */ $myData->createFunctionSerie("Y2", "z*z*z", array("MinX" => -10, "MaxX" => 10, "XStep" => 1)); $myData->setSerieOnAxis("Y2", 2); $myData->setAxisName(2, "y = z*z*z"); $myData->setAxisXY(2, AXIS_Y); $myData->setAxisPosition(2, AXIS_POSITION_LEFT); /* Create the 1st scatter chart binding */ $myData->setScatterSerie("X", "Y", 0); $myData->setScatterSerieDescription(0, "Pass A"); $myData->setScatterSerieTicks(0, 4); $myData->setScatterSerieColor(0, array("R" => 0, "G" => 0, "B" => 0)); /* Create the 2nd scatter chart binding */ $myData->setScatterSerie("X", "Y2", 1); $myData->setScatterSerieDescription(1, "Pass B"); $myData->setScatterSerieTicks(1, 4); $myData->setScatterSerieColor(1, array("R" => 120, "G" => 0, "B" => 255)); /* Create the pChart object */ $myPicture = new pImage(400, 400, $myData); /* Draw the background */ $Settings = array("R" => 170, "G" => 183, "B" => 87, "Dash" => 1, "DashR" => 190, "DashG" => 203, "DashB" => 107); $myPicture->drawFilledRectangle(0, 0, 400, 400, $Settings); /* Overlay with a gradient */ $Settings = array("StartR" => 219, "StartG" => 231, "StartB" => 139, "EndR" => 1, "EndG" => 138, "EndB" => 68, "Alpha" => 50);