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); } }