2017-06-15 76 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/