afreechart/src/main/java/org/afree/chart/axis/DateAxis.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.
     * @param plotArea  the area within which the axes and data should be
     *                  drawn (<code>null</code> not permitted).
     * @param dataArea  the area within which the data should be drawn
     *                  (<code>null</code> not permitted).
     * @param edge  the location of the axis (<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.
@param plotArea  the area within which the axes and data should be
drawn (null not permitted).
@param dataArea  the area within which the data should be drawn
(null not permitted).
@param edge  the location of the axis (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 . @param plotArea the area within which the axes and data should be drawn ( null not permitted ) . @param dataArea the area within which the data should be drawn ( null not permitted ) . @param edge the location of the axis ( 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) {
        if (!isVisible()) {
            AxisState state = new AxisState(cursor);
            List ticks = refreshTicks(canvas, state, dataArea, edge);
            state.setTicks(ticks);
            return state;
        }
        AxisState state = drawTickMarksAndLabels(canvas, cursor, plotArea,
                dataArea, edge);
        state = drawLabel(getLabel(), canvas, plotArea, dataArea, edge, state);
        createAndAddEntity(cursor, state, dataArea, edge, plotState);
        return state;
    }
public AxisState draw ( Canvas canvas , double cursor , RectShape plotArea , RectShape dataArea , RectangleEdge edge , PlotRenderingInfo plotState ) { if ( ! isVisible ( ) ) { AxisState state = new AxisState ( cursor ) ; List ticks = refreshTicks ( canvas , state , dataArea , edge ) ; state . setTicks ( ticks ) ; return state ; } AxisState state = drawTickMarksAndLabels ( canvas , cursor , plotArea , dataArea , edge ) ; state = drawLabel ( getLabel ( ) , canvas , plotArea , dataArea , edge , state ) ; createAndAddEntity ( cursor , state , dataArea , edge , plotState ) ; return state ; }
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 ) .
// if the axis is not visible, don't draw it... // even though the axis is not visible, we need to refresh ticks in // case the grid is being drawn... // draw the tick marks and labels... // draw the axis label (note that 'state' is passed in *and* // returned)...