ハイストックのソースコードを調べたところ、このコードが見つかりました
function normalizeTimeTickInterval(tickInterval, unitsOption) {
var units = unitsOption || [[
MILLISECOND, // unit name
[1, 2, 5, 10, 20, 25, 50, 100, 200, 500] // allowed multiples
...
}
このコードは何ですか?時間の単位がミリ秒の場合、tickInterval (あなたの場合は 40) をこれらの 1 つの倍数に正規化すると、40 から 50 および 30 から 25 に正規化されます。オプションからオーバーライドされます。ただし、それが受け入れられ、著作権法に違反しない場合は、コードを変更するオプションがあります。
編集:ソースコードチェックフィドル@ http://jsfiddle.net/jugal/H83bs/を変更せずにこれを機能させるハックを見つけました
これが私がしたことです。ソースコードの少しのデバッグ/分析により、ハイチャートが最初に軸のオプションの units プロパティで単位を見つけようとするヒントが得られました。見つからない場合は、デフォルトのものを使用します。そこで、units プロパティを微調整して次のように設定しました。これは、highcharts コンストラクターを呼び出す前に行う必要があります。
Highcharts.Axis.prototype.defaultOptions.units=[[
'millisecond',
[1, 2, 5, 10, 20, 25,30,40, 50, 100, 200, 500]
], [
'second',
[1, 2, 5, 10, 15, 30]
], [
'minute',
[1, 2, 5, 10, 15, 30]
], [
'hour',
[1, 2, 3, 4, 6, 8, 12]
], [
'day',
[1]
], [
'week',
[1]
], [
'month',
[1, 3, 6]
], [
'year',
null
]];