2013-10-14 64 views
0

Highcharts在找出適當的滴答間隔方面做得非常出色。在Highcharts中覆蓋滴答間隔計算?

但是,我有一個「持續時間」系列(以毫秒爲單位),我例如格式化如「3y 6M」或「1d 3h」或「3h 30min」進行顯示。由於Highcharts正在優化ms值的間隔時間間隔(例如10,000,000ms),所以我最終得出的結果很尷尬,如[2h 46min 40s,5h 33min 20s,8h 20min]而不是[3h,6h,9h]。

我可以讓Highcharts選擇某些值的倍數(例如1000,60 * 1000,60 * 60 * 1000等)嗎?我寧願不必自己計算確切的時間間隔(取決於圖表大小等)。

unformated y-axis values formatted y-axis values

+0

您是否在使用'type:datetime'? – Sualkcin

+0

沒有涉及的日期時間,只有一個字符串類別標籤和一個整數持續時間值(毫秒)。 – ejain

+0

,你是說你不想校準'tickInterval'?我不清楚你*如何*想要間隔;剛剛四捨五入或什麼? – Sualkcin

回答

1

我想你應該考慮使用y軸的日期時間軸。例如:http://jsfiddle.net/jRGvs/

yAxis: { 
     type: 'datetime' 
    }, 

    series: [{ 
     type: 'column', 
     name: 'Column', 
     data: [Date.UTC(1970, 0, 1, 2, 30), 
       Date.UTC(1970, 0, 1, 1, 45), 
       Date.UTC(1970, 0, 1, 4, 10), 
       Date.UTC(1970, 0, 1, 3, 30)] 
    }] 
+0

此方法僅適用於持續時間<24h;例如2天的持續時間標記爲Jan 3 ... – ejain

+0

只需使用標籤格式或label.formatter。 –

+0

使用格式化程序將無濟於事,請參閱我對@strikers解決方案的評論。 – ejain

0

你可以用標籤>格式爲Y軸走,

在這裏你可以寫一個程序,將處理的文本/值對網格線的旁邊顯示。但事情是你不能覆蓋從這裏的時間間隔。

+0

這就是上述第二張圖表的完成方式。我可以讓格式化程序進行四捨五入,但是後面會有標記[3h,6h,8h]的刻度,這看起來有點奇怪... – ejain

+0

是設置爲datetime的軸類型?如果它設置爲日期時間,那麼你可以從高層圖本身處理它 – Strikers

+0

關於日期時間,請參閱我對@ pawel-fus提供的答案的評論 – ejain