@Override public AxisState draw(Graphics2D g2,double cursor,Rectangle2D plotArea,Rectangle2D dataArea,RectangleEdge edge,PlotRenderingInfo plotState){
  if (!isVisible()) {
    return new AxisState(cursor);
  }
  if (isAxisLineVisible()) {
    drawAxisLine(g2,cursor,dataArea,edge);
  }
  AxisState state=new AxisState(cursor);
  state=drawSubCategoryLabels(g2,plotArea,dataArea,edge,state,plotState);
  state=drawCategoryLabels(g2,plotArea,dataArea,edge,state,plotState);
  if (getAttributedLabel() != null) {
    state=drawAttributedLabel(getAttributedLabel(),g2,plotArea,dataArea,edge,state);
  }
 else {
    state=drawLabel(getLabel(),g2,plotArea,dataArea,edge,state);
  }
  return state;
}

@ Override public AxisState draw ( Graphics2D g2 , double cursor , Rectangle2D plotArea , Rectangle2D dataArea , RectangleEdge edge , PlotRenderingInfo plotState ) { if ( ! isVisible ( ) ) { return new AxisState ( cursor ) ; } if ( isAxisLineVisible ( ) ) { drawAxisLine ( g2 , cursor , dataArea , edge ) ; } AxisState state = new AxisState ( cursor ) ; state = drawSubCategoryLabels ( g2 , plotArea , dataArea , edge , state , plotState ) ; state = drawCategoryLabels ( g2 , plotArea , dataArea , edge , state , plotState ) ; if ( getAttributedLabel ( ) != null ) { state = drawAttributedLabel ( getAttributedLabel ( ) , g2 , plotArea , dataArea , edge , state ) ; } else { state = drawLabel ( getLabel ( ) , g2 , plotArea , dataArea , edge , state ) ; } return state ; }
draws the axis on a java 2d graphics device ( such as the screen or a printer ) .
