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 */
Exemplo n.º 3
0
 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);