code: function quantile(ascArr, p) {
      var H = (ascArr.length - 1) * p + 1;
      var h = Math.floor(H);
      var v = +ascArr[h - 1];
      var e = H - h;
      return e ? v + e * (ascArr[h] - v) : v;
  }
docs: find a “nice” number approximately equal to x. Round the number if round = true,
  take ceiling if round = false. The primary observation is that the “nicest”
  numbers in decimal are 1, 2, and 5, and all power-of-ten multiples of these numbers.
  
  See "Nice Numbers for Graph Labels" of Graphic Gems.
  
  @param  {number} val Non-negative value.
  @param  {boolean} round
  @return {number}
   
  This code was copied from "d3.js"
  <https://github.com/d3/d3/blob/9cc9a875e636a1dcf36cc1e07bdf77e1ad6e2c74/src/arrays/quantile.js>.
  See the license statement at the head of this file.
  @param {Array.<number>} ascArr