docs: function makeLineOrAreaChartPath(chart, width, t, maxValue, chartHeight, chartHeightOffset, markerRadius, pointsOnScreen, makeArea, isRange) {
      let heightScaler = (chartHeight-markerRadius)/maxValue;
      let xSpacing = width / pointsOnScreen;
      let centeriser = xSpacing / 2 - markerRadius;
      let fullWidth = xSpacing*(chart.data.length-1) + markerRadius + centeriser;
  
      let lineStrArray = makeArea && !isRange ? ['M' + markerRadius, chartHeight+chartHeightOffset] : [];
      if (isRange) {
        lineStrArray.push('M');
        lineStrArray.push(makeXcord(chart, fullWidth, t, centeriser, markerRadius));
        lineStrArray.push((chartHeight+chartHeightOffset) - chart.data[0].value * heightScaler  * (chart.timingFunctions ? chart.timingFunctions[0 % chart.timingFunctions.length](t) : 1)); 
      }
      let xCord;
      let lowCords = [];
      chart.data.some((d, idx) => {
      let spacing = idx*xSpacing + centeriser;
          if (spacing > fullWidth * t && chart.drawChart) {
            return true;
          }
          xCord = makeXcord(chart, fullWidth, t, spacing, markerRadius);
          // Move line to to next x-coordinate:
          lineStrArray.push((idx > 0 || makeArea ? 'L' : 'M') + xCord);
          // And y-cordinate:
          let yCord = (chartHeight+chartHeightOffset) - d.value * heightScaler  * (chart.timingFunctions ? chart.timingFunctions[idx % chart.timingFunctions.length](t) : 1);
          lineStrArray.push(yCord);
          if (isRange) {
            let yCordLow = (chartHeight+chartHeightOffset) - d.valueLow * heightScaler  * (chart.timingFunctions ? chart.timingFunctions[idx % chart.timingFunctions.length](t) : 1);
            lowCords.unshift({xCord, yCordLow});
          }
      });
      if (makeArea) {
        if (isRange) {
          lowCords.forEach((d) => {
            lineStrArray.push('L' + d.xCord);
            lineStrArray.push(d.yCordLow);
          });
          // lineStrArray.push('L' + makeXcord(chart, fullWidth, t, xSpacing + centeriser, markerRadius));
          // lineStrArray.push(d.yCordLow);
        } else {
          lineStrArray.push('L' + xCord);
          lineStrArray.push(chartHeight + chartHeightOffset);
        }
        lineStrArray.push('Z');
      }
      return {
        path: lineStrArray.join(' '),
        width: xCord + markerRadius,
        maxScroll: fullWidth - xSpacing + markerRadius
      };
    }