首页 文章

从x轴重绘问题中删除DataPoint

提问于
浏览
3

从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 回答

  • 3

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

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

    New Fiddle

相关问题