@Override public double java2DToValue(double java2DValue,Rectangle2D area,RectangleEdge edge){
  Range range=getRange();
  double axisMin=range.getLowerBound();
  double axisMax=range.getUpperBound();
  double min=0.0;
  double max=0.0;
  if (RectangleEdge.isTopOrBottom(edge)) {
    min=area.getX();
    max=area.getMaxX();
  }
 else   if (RectangleEdge.isLeftOrRight(edge)) {
    min=area.getMaxY();
    max=area.getY();
  }
  if (isInverted()) {
    return axisMax - (java2DValue - min) / (max - min) * (axisMax - axisMin);
  }
 else {
    return axisMin + (java2DValue - min) / (max - min) * (axisMax - axisMin);
  }
}

@ Override public double java2DToValue ( double java2DValue , Rectangle2D area , RectangleEdge edge ) { Range range = getRange ( ) ; double axisMin = range . getLowerBound ( ) ; double axisMax = range . getUpperBound ( ) ; double min = 0.0 ; double max = 0.0 ; if ( RectangleEdge . isTopOrBottom ( edge ) ) { min = area . getX ( ) ; max = area . getMaxX ( ) ; } else if ( RectangleEdge . isLeftOrRight ( edge ) ) { min = area . getMaxY ( ) ; max = area . getY ( ) ; } if ( isInverted ( ) ) { return axisMax - ( java2DValue - min ) / ( max - min ) * ( axisMax - axisMin ) ; } else { return axisMin + ( java2DValue - min ) / ( max - min ) * ( axisMax - axisMin ) ; } }
converts a coordinate in java2d space to the corresponding data value , assuming that the axis runs along one edge of the specified dataarea .
