Example #1
0
 function StrokeAxis($aStrokeLabels = true)
 {
     if ($aStrokeLabels) {
         $this->StrokeAxisLabelBackground();
     }
     // Stroke axis
     if ($this->iAxisStyle != AXSTYLE_SIMPLE) {
         switch ($this->iAxisStyle) {
             case AXSTYLE_BOXIN:
                 $toppos = SIDE_DOWN;
                 $bottompos = SIDE_UP;
                 $leftpos = SIDE_RIGHT;
                 $rightpos = SIDE_LEFT;
                 break;
             case AXSTYLE_BOXOUT:
                 $toppos = SIDE_UP;
                 $bottompos = SIDE_DOWN;
                 $leftpos = SIDE_LEFT;
                 $rightpos = SIDE_RIGHT;
                 break;
             case AXSTYLE_YBOXIN:
                 $toppos = FALSE;
                 $bottompos = SIDE_UP;
                 $leftpos = SIDE_RIGHT;
                 $rightpos = SIDE_LEFT;
                 break;
             case AXSTYLE_YBOXOUT:
                 $toppos = FALSE;
                 $bottompos = SIDE_DOWN;
                 $leftpos = SIDE_LEFT;
                 $rightpos = SIDE_RIGHT;
                 break;
             default:
                 JpGRaphError::RaiseL(25036, $this->iAxisStyle);
                 //('Unknown AxisStyle() : '.$this->iAxisStyle);
                 break;
         }
         // By default we hide the first label so it doesn't cross the
         // Y-axis in case the positon hasn't been set by the user.
         // However, if we use a box we always want the first value
         // displayed so we make sure it will be displayed.
         $this->xscale->ticks->SupressFirst(false);
         // Now draw the bottom X-axis
         $this->xaxis->SetPos('min');
         $this->xaxis->SetLabelSide(SIDE_DOWN);
         $this->xaxis->scale->ticks->SetSide($bottompos);
         $this->xaxis->Stroke($this->yscale, $aStrokeLabels);
         if ($toppos !== FALSE) {
             // We also want a top X-axis
             $this->xaxis = $this->xaxis;
             $this->xaxis->SetPos('max');
             $this->xaxis->SetLabelSide(SIDE_UP);
             // No title for the top X-axis
             if ($aStrokeLabels) {
                 $this->xaxis->title->Set('');
             }
             $this->xaxis->scale->ticks->SetSide($toppos);
             $this->xaxis->Stroke($this->yscale, $aStrokeLabels);
         }
         // Stroke the left Y-axis
         $this->yaxis->SetPos('min');
         $this->yaxis->SetLabelSide(SIDE_LEFT);
         $this->yaxis->scale->ticks->SetSide($leftpos);
         $this->yaxis->Stroke($this->xscale, $aStrokeLabels);
         // Stroke the  right Y-axis
         $this->yaxis->SetPos('max');
         // No title for the right side
         if ($aStrokeLabels) {
             $this->yaxis->title->Set('');
         }
         $this->yaxis->SetLabelSide(SIDE_RIGHT);
         $this->yaxis->scale->ticks->SetSide($rightpos);
         $this->yaxis->Stroke($this->xscale, $aStrokeLabels);
     } else {
         $this->xaxis->Stroke($this->yscale, $aStrokeLabels);
         $this->yaxis->Stroke($this->xscale, $aStrokeLabels);
     }
 }
Example #2
0
 function StrokeAxis()
 {
     // Stroke axis
     if ($this->iAxisStyle != AXSTYLE_SIMPLE) {
         switch ($this->iAxisStyle) {
             case AXSTYLE_BOXIN:
                 $toppos = SIDE_DOWN;
                 $bottompos = SIDE_UP;
                 $leftpos = SIDE_RIGHT;
                 $rightpos = SIDE_LEFT;
                 break;
             case AXSTYLE_BOXOUT:
                 $toppos = SIDE_UP;
                 $bottompos = SIDE_DOWN;
                 $leftpos = SIDE_LEFT;
                 $rightpos = SIDE_RIGHT;
                 break;
             case AXSTYLE_YBOXIN:
                 $toppos = -100;
                 $bottompos = SIDE_UP;
                 $leftpos = SIDE_RIGHT;
                 $rightpos = SIDE_LEFT;
                 break;
             case AXSTYLE_YBOXOUT:
                 $toppos = -100;
                 $bottompos = SIDE_DOWN;
                 $leftpos = SIDE_LEFT;
                 $rightpos = SIDE_RIGHT;
                 break;
             default:
                 JpGRaphError::Raise('Unknown AxisStyle() : ' . $this->iAxisStyle);
                 break;
         }
         $this->xaxis->SetPos('min');
         // By default we hide the first label so it doesn't cross the
         // Y-axis in case the positon hasn't been set by the user.
         // However, if we use a box we always want the first value
         // displayed so we make sure it will be displayed.
         $this->xscale->ticks->SupressFirst(false);
         $this->xaxis->SetLabelSide(SIDE_DOWN);
         $this->xaxis->scale->ticks->SetSide($bottompos);
         $this->xaxis->Stroke($this->yscale);
         if ($toppos != -100) {
             // To avoid side effects we work on a new copy
             $maxis = $this->xaxis;
             $maxis->SetPos('max');
             $maxis->SetLabelSide(SIDE_UP);
             $maxis->SetLabelMargin(7);
             $this->xaxis->scale->ticks->SetSide($toppos);
             $maxis->Stroke($this->yscale);
         }
         $this->yaxis->SetPos('min');
         $this->yaxis->SetLabelMargin(10);
         $this->yaxis->SetLabelSide(SIDE_LEFT);
         $this->yaxis->scale->ticks->SetSide($leftpos);
         $this->yaxis->Stroke($this->xscale);
         $myaxis = $this->yaxis;
         $myaxis->SetPos('max');
         $myaxis->SetLabelMargin(10);
         $myaxis->SetLabelSide(SIDE_RIGHT);
         $myaxis->title->Set('');
         $myaxis->scale->ticks->SetSide($rightpos);
         $myaxis->Stroke($this->xscale);
     } else {
         $this->xaxis->Stroke($this->yscale);
         $this->yaxis->Stroke($this->xscale);
     }
 }
Example #3
0
 function StrokeAxis($aStrokeLabels = true)
 {
     if ($aStrokeLabels) {
         $this->StrokeAxisLabelBackground();
     }
     if ($this->iAxisStyle != AXSTYLE_SIMPLE) {
         switch ($this->iAxisStyle) {
             case AXSTYLE_BOXIN:
                 $toppos = SIDE_DOWN;
                 $bottompos = SIDE_UP;
                 $leftpos = SIDE_RIGHT;
                 $rightpos = SIDE_LEFT;
                 break;
             case AXSTYLE_BOXOUT:
                 $toppos = SIDE_UP;
                 $bottompos = SIDE_DOWN;
                 $leftpos = SIDE_LEFT;
                 $rightpos = SIDE_RIGHT;
                 break;
             case AXSTYLE_YBOXIN:
                 $toppos = -100;
                 $bottompos = SIDE_UP;
                 $leftpos = SIDE_RIGHT;
                 $rightpos = SIDE_LEFT;
                 break;
             case AXSTYLE_YBOXOUT:
                 $toppos = -100;
                 $bottompos = SIDE_DOWN;
                 $leftpos = SIDE_LEFT;
                 $rightpos = SIDE_RIGHT;
                 break;
             default:
                 JpGRaphError::RaiseL(25036, $this->iAxisStyle);
                 break;
         }
         $this->xaxis->SetPos('min');
         $this->xscale->ticks->SupressFirst(false);
         $this->xaxis->SetLabelSide(SIDE_DOWN);
         $this->xaxis->scale->ticks->SetSide($bottompos);
         $this->xaxis->Stroke($this->yscale);
         if ($toppos != -100) {
             $maxis = $this->xaxis;
             $maxis->SetPos('max');
             $maxis->SetLabelSide(SIDE_UP);
             $maxis->SetLabelMargin(7);
             $this->xaxis->scale->ticks->SetSide($toppos);
             $maxis->Stroke($this->yscale);
         }
         $this->yaxis->SetPos('min');
         $this->yaxis->SetLabelMargin(10);
         $this->yaxis->SetLabelSide(SIDE_LEFT);
         $this->yaxis->scale->ticks->SetSide($leftpos);
         $this->yaxis->Stroke($this->xscale);
         $myaxis = $this->yaxis;
         $myaxis->SetPos('max');
         $myaxis->SetLabelMargin(10);
         $myaxis->SetLabelSide(SIDE_RIGHT);
         $myaxis->title->Set('');
         $myaxis->scale->ticks->SetSide($rightpos);
         $myaxis->Stroke($this->xscale);
     } else {
         $this->xaxis->Stroke($this->yscale, $aStrokeLabels);
         $this->yaxis->Stroke($this->xscale, $aStrokeLabels);
     }
 }