我有一个x轴上带有日期类别的样条图。标签以2为步长,因此显示备用日期。无论步长如何,我如何显示最后一个标签和刻度?示例:如果最后两个标签是11/6和12/6我想显示12/6,即使步长为2.如果最后一个类别是13/6那么它可以正常工作。
答案 0 :(得分:1)
我没有看到让tickInterval为2并在最后添加额外刻度的方法。但是,如果使用tickInterval为1,则可以使用格式化程序显示每个其他标签以及最终标签。
Highcharts.chart('container', {
xAxis: {
labels: {
formatter: function () {
var label = this.axis.defaultLabelFormatter.call(this);
if (label % 2 == 1 && !this.isLast) label = '';
return label;
}
},
tickInterval: 1
},
series: [{
data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4],
type: 'line'
}]
});
答案 1 :(得分:1)
您可以使用tickPositioner()
功能实现此目的。
此示例使用简单的数字轴,但应与类别相同。如果您使用的是实际的datetime
轴,则需要修改回调函数中的检查以匹配您的日期间隔。
代码示例:
xAxis: {
tickPositioner: function() {
var positions = [],
ext = this.getExtremes(),
xMax = Math.round(ext.max),
xMin = Math.round(ext.min);
for (var i = xMin; i < xMax; i++) {
if (i % 2 == 0) {
positions.push(i);
}
}
positions.push(xMax);
return positions;
}
}
小提琴:
使用每月类别更新小提琴:
参考: