code: private void setTicks() {
  			double range, z;
  			if(zeroBased) {
  				firstTick = 0.0;
  			} else {
  				range = Math.abs(minValue);
  				z = (range % getMinorTickSpacing())==0 ? 0 : 1; 
  				firstTick = Math.signum(minValue)*getMinorTickSpacing()*(Math.floor(range/getMinorTickSpacing())+z); 	
  			}
  			range = Math.abs(maxValue);
  			z = (range % getMinorTickSpacing())==0 ? 0 : 1; 
  			lastTick = Math.signum(maxValue)*getMinorTickSpacing()*(Math.floor(range/getMinorTickSpacing())+z); 
  			tickNumber = (int) ((lastTick-Math.signum(firstTick)*Math.abs(firstTick))/getMinorTickSpacing())+1;
  			tickRange = lastTick-Math.signum(firstTick)*Math.abs(firstTick);
  //			System.out.println("first tick: "+firstTick);
  //			System.out.println(" last tick: "+lastTick);
  //			System.out.println("tick number: "+tickNumber);
  //			System.out.println("tick range: "+tickRange);
  		}
docs: Sets tick values and tick range according to the current operation mode.<br>
  In zero based mode the first tick is 0 and the last tick is determined on the basis of the first tick and the number of overall ticks.
  Otherwise the first tick equals {@link #minValue}.