请参阅Highcharts提供的此示例自定义近似: http://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/stock/plotoptions/series-datagrouping-approximation
dataGrouping: {
approximation: function () {
return this.dataGroupInfo.length;
},
forced: true
},
从左到右滚动选择。
请注意dataGroupInfo.length
在dataGroup
进入和退出图表区域时会增加和减少。我认为这是由于图表区域dataGroup
被裁剪造成的。
我试图通过将cropThreshold
设置为Infinity而未成功(似乎无关)来解决此问题。
我需要创建一个未被图表区域裁剪的自定义近似值。
为了使事情复杂化,我的自定义近似值是series[0]
并且是平均值。在我的情况下,它是series[0]
除以series[1]
的结果。
我目前的尝试如下:
http://jsfiddle.net/rbwc217s/
approximation: function(arr) {
var numerator = 0,
denominator = 0;
if (arr.length !== 0) {
var start = this.xData.indexOf(this.processedXData[0]) + this.dataGroupInfo.start,
slicedArr = this.chart.series[1].yData.slice(start, start + (arr.length));
for (var i in arr) {
numerator += arr[i];
denominator += slicedArr[i];
};
};
return denominator !== 0 ? Math.round((numerator / denominator) * 1000) / 1000 : null;
},
它按预期工作 - 除了在图表区域的边缘。同样,我认为这是由于图表区域dataGroup
被裁剪造成的。
感谢任何帮助。
谢谢。