@Override public void zoomRange(double lowerPercent,double upperPercent){
  Range range=getRange();
  double start=range.getLowerBound();
  double end=range.getUpperBound();
  double log1=calculateLog(start);
  double log2=calculateLog(end);
  double length=log2 - log1;
  Range adjusted;
  if (isInverted()) {
    double logA=log1 + length * (1 - upperPercent);
    double logB=log1 + length * (1 - lowerPercent);
    adjusted=new Range(calculateValueNoINF(logA),calculateValueNoINF(logB));
  }
 else {
    double logA=log1 + length * lowerPercent;
    double logB=log1 + length * upperPercent;
    adjusted=new Range(calculateValueNoINF(logA),calculateValueNoINF(logB));
  }
  setRange(adjusted);
}

@ Override public void zoomRange ( double lowerPercent , double upperPercent ) { Range range = getRange ( ) ; double start = range . getLowerBound ( ) ; double end = range . getUpperBound ( ) ; double log1 = calculateLog ( start ) ; double log2 = calculateLog ( end ) ; double length = log2 - log1 ; Range adjusted ; if ( isInverted ( ) ) { double logA = log1 + length * ( 1 - upperPercent ) ; double logB = log1 + length * ( 1 - lowerPercent ) ; adjusted = new Range ( calculateValueNoINF ( logA ) , calculateValueNoINF ( logB ) ) ; } else { double logA = log1 + length * lowerPercent ; double logB = log1 + length * upperPercent ; adjusted = new Range ( calculateValueNoINF ( logA ) , calculateValueNoINF ( logB ) ) ; } setRange ( adjusted ) ; }
zooms in on the current range .
