2017-06-15 75 views
0

我有一个样条图,其中包含x轴上的日期类别。标签的步数为2,因此显示备用日期。如何显示最后一个标签并打勾而不考虑步长?例如:如果最后两个标签是11/6和12/6,即使步长是2,我也想显示12/6。如果最后一个类别是13/6,那么它工作正常。强制最后一个标签并在x轴上打勾

回答

0

您可以用​​功能实现这一目标。

本示例使用简单的数字轴,但应该与类别一样。如果您使用的是实际的轴,则需要编辑回调函数中的检查以匹配日期间隔。

代码示例:

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; 
    } 
} 

小提琴:

使用每月类

更新小提琴:

参考:

+0

谢谢!奇迹般有效。 – zostale

1

我看不出有tickInterval为2的方法,并在最后添加一个附加的刻度。但是,如果使用1的tickInterval,则可以使用格式化程序显示每个其他标签以及最终标签。

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' 
    }] 

}); 

http://jsfiddle.net/p665hgo0/