I am currently working with a Cartesian Chart with a Numeric Y, 'Time' X axis, and the 'crosszoom' functionality. I have a standard that stores data that has fields: ['value', 'time', 'strokeColor'].

I define my series with a custom renderer as below:
   type: 'line',
   renderer: function(sprite, config, rendererData, index) {
      var records =;
      var tempRecord = records[index];
      var changes = {};
      if (tempRecord != undefined) {
         changes.strokeStyle =;
      return changes;
The problem that I am running into is that the Cartesian Chart code is aggregating and creating new points when my chart is zoomed out to certain zoom levels where (I'm assuming) there is too large a span of time being shown on the chart. When this happens my renderer above gets an index value that is outside of the indexes in my original data I cannot pull the correct stroke color for it.

Is there a way to either stop this aggregation or map the large index back to the original data point that it was aggregated from so I can pull the color?