Codebase list node-d3-shape / f55d6b3b-bbec-4baf-af14-b9b0e1f9dff4/main src / offset / diverging.js
f55d6b3b-bbec-4baf-af14-b9b0e1f9dff4/main

Tree @f55d6b3b-bbec-4baf-af14-b9b0e1f9dff4/main (Download .tar.gz)

diverging.js @f55d6b3b-bbec-4baf-af14-b9b0e1f9dff4/mainraw · history · blame

export default function(series, order) {
  if (!((n = series.length) > 0)) return;
  for (var i, j = 0, d, dy, yp, yn, n, m = series[order[0]].length; j < m; ++j) {
    for (yp = yn = 0, i = 0; i < n; ++i) {
      if ((dy = (d = series[order[i]][j])[1] - d[0]) > 0) {
        d[0] = yp, d[1] = yp += dy;
      } else if (dy < 0) {
        d[1] = yn, d[0] = yn += dy;
      } else {
        d[0] = 0, d[1] = dy;
      }
    }
  }
}