示例#1
0
 public function init(awDriver $driver)
 {
     list($x1, $y1, $x2, $y2) = $this->getPosition();
     // Get space informations
     list($leftSpace, $rightSpace, $topSpace, $bottomSpace) = $this->getSpace($x2 - $x1, $y2 - $y1);
     $this->xAxis->setPadding($leftSpace, $rightSpace);
     if ($this->space->bottom > 0 or $this->space->top > 0) {
         list($min, $max) = $this->yAxis->getRange();
         $interval = $max - $min;
         $this->yAxis->setRange($min - $interval * $this->space->bottom / 100, $max + $interval * $this->space->top / 100);
     }
     // Auto-scaling mode
     $this->yAxis->autoScale();
     // Number of labels is not specified
     if ($this->yAxis->getLabelNumber() === NULL) {
         $number = round(($y2 - $y1) / 75) + 2;
         $this->yAxis->setLabelNumber($number);
     }
     $this->xAxis->line->setX($x1, $x2);
     $this->yAxis->line->setY($y2, $y1);
     // Set ticks
     /* <php5> */
     $this->xAxis->tick('major')->setNumber($this->getXAxisNumber());
     $this->yAxis->tick('major')->setNumber($this->yAxis->getLabelNumber());
     /* </php5> */
     /* <php4> --
     		$this->xAxis->ticks['major']->setNumber($this->getXAxisNumber());
     		$this->yAxis->ticks['major']->setNumber($this->yAxis->getLabelNumber());
     		-- </php4> */
     // Center X axis on zero
     if ($this->xAxisZero) {
         $this->xAxis->setYCenter($this->yAxis, 0);
     }
     // Center Y axis on zero
     if ($this->yAxisZero) {
         $this->yAxis->setXCenter($this->xAxis, 0);
     }
     // Set axis labels
     $labels = array();
     list($xMin, $xMax) = $this->xAxis->getRange();
     for ($i = $xMin; $i <= $xMax; $i++) {
         $labels[] = $i;
     }
     $this->xAxis->label->set($labels);
     parent::init($driver);
     list($x1, $y1, $x2, $y2) = $this->getPosition();
     list($leftSpace, $rightSpace) = $this->getSpace($x2 - $x1, $y2 - $y1);
     // Create the grid
     $this->createGrid();
     // Draw the grid
     $this->grid->setSpace($leftSpace, $rightSpace, 0, 0);
     $this->grid->draw($driver, $x1, $y1, $x2, $y2);
 }