从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示例,显示它既有效又无法正常工作
有关如何解决此问题的任何建议
干杯
答案 0 :(得分:3)
这是因为xAxis minRange
行为(docs)控制了轴应显示的最小范围。在你的情况下,这默认为5,这解释了为什么即使在你失去分数时它也试图保持更宽的轴。将minRange设置为较低的值(例如1),您将不会遇到任何问题!
xAxis: {
minRange: 1,
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun']
},