diverging.js 431 B

1234567891011121314
  1. export default function(series, order) {
  2. if (!((n = series.length) > 0)) return;
  3. for (var i, j = 0, d, dy, yp, yn, n, m = series[order[0]].length; j < m; ++j) {
  4. for (yp = yn = 0, i = 0; i < n; ++i) {
  5. if ((dy = (d = series[order[i]][j])[1] - d[0]) > 0) {
  6. d[0] = yp, d[1] = yp += dy;
  7. } else if (dy < 0) {
  8. d[1] = yn, d[0] = yn += dy;
  9. } else {
  10. d[0] = 0, d[1] = dy;
  11. }
  12. }
  13. }
  14. }