code: function getNiceTickValuesFn([min, max], tickCount = 6, allowDecimals = true) {
    // More than two ticks should be return
    const count = Math.max(tickCount, 2);
    const [cormin, cormax] = getValidInterval([min, max]);
  
    if (cormin === -Infinity || cormax === Infinity) {
      const values = cormax === Infinity
        ? [cormin, ...range(0, tickCount - 1).map(() => Infinity)]
        : [...range(0, tickCount - 1).map(() => -Infinity), cormax];
  
      return min > max ? reverse(values) : values;
    }
  
    if (cormin === cormax) {
      return getTickOfSingleValue(cormin, tickCount, allowDecimals);
    }
  
    // Get the step between two ticks
    const { step, tickMin, tickMax } = calculateStep(cormin, cormax, count, allowDecimals);
  
    const values = Arithmetic.rangeStep(tickMin, tickMax.add(new Decimal(0.1).mul(step)), step);
  
    return min > max ? reverse(values) : values;
  }
docs: Calculate the ticks of an interval, the count of ticks will be guraranteed
  
  @param  {Number}  min, max      min: The minimum value, max: The maximum value
  @param  {Integer} tickCount     The count of ticks
  @param  {Boolean} allowDecimals Allow the ticks to be decimals or not
  @return {Array}   ticks