从x轴重绘问题中删除DataPoint

时间:2015-07-21 14:53:10

标签: javascript highcharts

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

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

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

工作: Working Example

不工作: Error Example

这是我们在不起作用的示例中使用的加载事件代码

$(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示例,显示它既有效又无法正常工作

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

干杯

1 个答案:

答案 0 :(得分:3)

这是因为xAxis minRange行为(docs)控制了轴应显示的最小范围。在你的情况下,这默认为5,这解释了为什么即使在你失去分数时它也试图保持更宽的轴。将minRange设置为较低的值(例如1),您将不会遇到任何问题!

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

New Fiddle