afreechart/src/main/java/org/afree/chart/axis/PeriodAxis.java
/**
     * Draws the axis on a graphics device (such as the screen or a
     * printer).
     *
     * @param canvas  the graphics device (<code>null</code> not permitted).
     * @param cursor  the cursor location (determines where to draw the axis).
     * @param plotArea  the area within which the axes and plot should be drawn.
     * @param dataArea  the area within which the data should be drawn.
     * @param edge  the axis location (<code>null</code> not permitted).
     * @param plotState  collects information about the plot
     *                   (<code>null</code> permitted).
     *
     * @return The axis state (never <code>null</code>).
     */
Draws the axis on a graphics device (such as the screen or a
printer).

@param canvas  the graphics device (null not permitted).
@param cursor  the cursor location (determines where to draw the axis).
@param plotArea  the area within which the axes and plot should be drawn.
@param dataArea  the area within which the data should be drawn.
@param edge  the axis location (null not permitted).
@param plotState  collects information about the plot
(null permitted).

@return The axis state (never null).
Draws the axis on a graphics device ( such as the screen or a printer ) . @param canvas the graphics device ( null not permitted ) . @param cursor the cursor location ( determines where to draw the axis ) . @param plotArea the area within which the axes and plot should be drawn . @param dataArea the area within which the data should be drawn . @param edge the axis location ( null not permitted ) . @param plotState collects information about the plot ( null permitted ) . @return The axis state ( never null ) .
public AxisState draw(Canvas canvas, double cursor, RectShape plotArea,
            RectShape dataArea, RectangleEdge edge,
            PlotRenderingInfo plotState) {
        AxisState axisState = new AxisState(cursor);
        if (isAxisLineVisible()) {
            drawAxisLine(canvas, cursor, dataArea, edge);
        }
        if (isTickMarksVisible()) {
            drawTickMarks(canvas, axisState, dataArea, edge);
        }
        if (isTickLabelsVisible()) {
            for (int band = 0; band < this.labelInfo.length; band++) {
                axisState = drawTickLabels(band, canvas, axisState, dataArea, edge);
            }
        }
        axisState = drawLabel(getLabel(), canvas, plotArea, dataArea, edge,
                axisState);
        return axisState;
    }
public AxisState draw ( Canvas canvas , double cursor , RectShape plotArea , RectShape dataArea , RectangleEdge edge , PlotRenderingInfo plotState ) { AxisState axisState = new AxisState ( cursor ) ; if ( isAxisLineVisible ( ) ) { drawAxisLine ( canvas , cursor , dataArea , edge ) ; } if ( isTickMarksVisible ( ) ) { drawTickMarks ( canvas , axisState , dataArea , edge ) ; } if ( isTickLabelsVisible ( ) ) { for ( int band = 0 ; band < this . labelInfo . length ; band ++ ) { axisState = drawTickLabels ( band , canvas , axisState , dataArea , edge ) ; } } axisState = drawLabel ( getLabel ( ) , canvas , plotArea , dataArea , edge , axisState ) ; return axisState ; }
Draws the axis on a graphics device (such as the screen or a
 printer).
Draws the axis on a graphics device ( such as the screen or a printer ) .
// draw the axis label (note that 'state' is passed in *and* // returned)...