docs: function makeBarsChartPath(chart, width, t, maxValue, chartHeight, chartHeightOffset, markerRadius, pointsOnScreen, paddingLeft, isRange) {
      let heightScaler = (chartHeight-markerRadius)/maxValue;
      let xSpacing = width / pointsOnScreen;
      let barWidth = xSpacing - paddingLeft;
      let fullWidth = paddingLeft/2 + (paddingLeft+barWidth) * (chart.data.length-1) + barWidth;
      let pathStr = []
      let barCords = [];
      let x1, y1, y2;
      chart.data.some((d, idx) => {
          x1 = paddingLeft/2 + (paddingLeft+barWidth) * idx;
          if (x1 > fullWidth * t && chart.drawChart) {
            return true;
          }
          if (chart.stretchChart) {
            x1 = x1 * t;
          }
          y1 = (chartHeight+chartHeightOffset) - d.value * heightScaler * (chart.timingFunctions ? chart.timingFunctions[idx % chart.timingFunctions.length](t) : 1);
          y2 = isRange ? (chartHeight+chartHeightOffset) - d.valueLow * heightScaler * (chart.timingFunctions ? chart.timingFunctions[idx % chart.timingFunctions.length](t) : 1) : (chartHeight+chartHeightOffset);
          pathStr.push('M');
          pathStr.push(x1);
          pathStr.push(y2);
          pathStr.push('H');
          pathStr.push(x1 + barWidth);
          pathStr.push('V');
          pathStr.push(y1);
          pathStr.push('H');
          pathStr.push(x1);
          pathStr.push('V');
          pathStr.push(y2);
          barCords.push({x1: x1, x2: x1+barWidth, y1: y1, y2: y2});
      });
      return {
        path: pathStr.join(' '),
        width: fullWidth,
        maxScroll: fullWidth - width,
        barCords: barCords
      };
    }