从load事件中的图表中删除数据点时,我们得到奇怪的行为。

我们正在使用Highcharts JS v4.1.7(2015-06-26)。

当系列有6个以上的数据点,并且我们删除了第一个数据点时,将正确地重新绘制图表。当系列具有6个或更少的数据点时,删除的数据点标签仍然可见。除此之外,还添加了新的类别标签,这似乎是类别的原始数量(例如6个)。请参见下面的屏幕截图:

加工:

不起作用:

这是我们无法在示例中使用的加载事件代码

$(function () {
// create the chart
$('#container').highcharts({
    chart: {
        events: {
            load: function () {
                var chart = $('#container').highcharts(),
                    series = chart.series[0];
                if (series.data.length) {
                    chart.series[0].data[0].remove();
                }
            }
        }
    },
    xAxis: {
        categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun']
    },
    series: [{
        data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0]
    }]
});

});

这是JsFiddle示例,显示了它是否正常工作
  • 工作-http://jsfiddle.net/arty_/418xcrq9/
  • 不起作用-http://jsfiddle.net/arty_/0cu5cu9t/

  • 有关如何解决此问题的任何建议

    干杯

    最佳答案

    这是因为xAxis的minRange行为(docs)控制着轴应显示的最小范围。在您的情况下,默认值为5,这说明了即使丢失点也尝试保持较宽的轴的原因。将minRange设置为较低的值(例如1),就不会有任何问题!

    xAxis: {
        minRange: 1,
        categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun']
    },
    

    New Fiddle

    10-04 15:20
    查看更多