Highcharts:自定义数据分组近似:按图表区域裁剪的dataGroups

时间:2017-04-14 18:32:50

标签: javascript function highcharts highstock approximation

请参阅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.lengthdataGroup进入和退出图表区域时会增加和减少。我认为这是由于图表区域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被裁剪造成的。

感谢任何帮助。
谢谢。

0 个答案:

没有答案