Highcharts 3在一个系列中不能渲染超过1000个点

时间:2013-04-10 09:01:02

标签: highcharts

在将Highcharts 2.1.9升级到3.0.0之后,我们发现在一个系列中渲染超过1000个点似乎是不可能的。

如果你为一个系列添加1000点,它就可以了。

如果向系列添加1001个点,则根本不会渲染。如果您之后询问该系列,则系列中的“数据”数组为空。

然而,您可以使用1000个点渲染多个系列 - 因此对于每个图表的总点数似乎没有限制。

这是一个jsFiddle,它说明了这一点:http://jsfiddle.net/YWVHx/47/

$(function () {

    var series1Data = [];
    for (var i = 0; i < 1000; i++) {
        series1Data.push({
            x: (new Date()).getTime() + i * 10000,
            y: Math.random() * 100
        });
    }

    var series2Data = [];
        // If you change this back to 1000 the series gets rendered
        for (var i = 0; i < 1001; i++) { 
            series2Data.push({
                x: (new Date()).getTime() + i * 10000,
                y: Math.random() * 100 + 100
            });
    }

    $('#container').highcharts({
        chart: {
            type: 'line'
        },
        title: {
            text: 'Foo'
        },
        xAxis: {
            type: 'datetime'
        },
        yAxis: {
            title: {
            text: null
            }
        },
        tooltip: {
            crosshairs: true,
            shared: true,
            valueSuffix: '°C'
        },
        legend: {
            enabled: true
        },
        series: [{
            name: '1000 Points - I work ;-)',
            data: series1Data
        }, {
            name: '1001 Points - I dont work :-(',
            data: series2Data
        }]
    });
});

这是出于目的而施加的限制还是v3的问题?

2 个答案:

答案 0 :(得分:29)

答案 1 :(得分:15)

为了方便其他用户,这是一个可以复制和粘贴的补充示例:

        plotOptions:{
            series:{
                turboThreshold:5000//set it to a larger threshold, it is by default to 1000
            }
        }

点击此处http://jsfiddle.net/YWVHx/339/查看结果