2017-08-22 36 views
0

我有一個活動圖表,每x次更新一次。下面包含一個使用虛擬變量的圖像。我想要的是Highcharts只能標註第一個,中間和最後一個。或者任何我不用垃圾郵件發送圖形標籤的地方。Highcharts圖刪除類別(x軸)上的間隔現有的滴答

enter image description here

目前我的x軸看起來像這樣:

xAxis: { 
    crosshair: true, 
    type: "categories", 
    categories: xaxis 
}, 

沒有什麼兩樣的。我試過添加一個tickInterval,但是,從長遠來看,這並不能真正解決問題。基本上我需要的是與tickInterval相反的方法,在特定的時間間隔之後刪除刻度。與目前高分辨率的日期時間API不同。這裏的區別在於,這些數據不能由我自己生成,而是由我正在使用的API生成,它將吐出所示的x軸標籤。

回答

1

過了一段時間,如果圖表上顯示的xAxis標籤太多,它們的數量會自動減少(第一個示例)。儘管如果你願意,你可以使用幾個解決方案。最好的方法是使用tickPositioner僅顯示第一個,中間和最後一個標籤,並使用xAxis.labels.formatter(第二個示例)中的Highcharts.dateFormat來格式化它們。你也可以設置更大的stepxAxis.labels(第三個例子)。

API參考:
http://api.highcharts.com/highcharts/xAxis.tickPositioner
http://api.highcharts.com/highcharts/Highcharts.dateFormat
http://api.highcharts.com/highcharts/xAxis.labels.step

實施例:
http://jsfiddle.net/vxjdwer7/ - 默認行爲
http://jsfiddle.net/30t45zvq/ - 使用tickPositioner
http://jsfiddle.net/6g9uvokL/ - 使用步驟

+0

感謝。這裏唯一存在的問題是我希望這種行爲適用於類別。因此,如果我將[蘋果,熊,香蕉,橙等等]作爲x值,我只想顯示第一個,中間和最後一個類別值。您的tickPositioner示例使用日期時間。 –

+1

只需將xAxis.type更改爲'category'並使用categories數組。例如:http://jsfiddle.net/307a2o3v/。 –

+0

我在'http:// jsfiddle.net/307a2o3v /'最近的例子中注意到的一件事是如果我啓用縮放,x軸保持不變,並且不對應於我放大的圖表部分成。例如,如果我放大蘋果和香蕉之間的區域,我將看不到熊。 –