Highcharts:在xaxis上设置定期间隔

时间:2012-07-13 12:23:29

标签: javascript highcharts

随着时间的推移,我有一系列数据值(由计数确定)。数据以 n 分钟间隔提供(计数x间隔);通常数据为96 x 15(96个15分钟间隔,24小时)。间隔的长度和计数都是动态的。数据系列可以是多种类型的数据;它可以是多种格式,如0.000123或1.23或198763.0000089675。

我希望我的xaxis以1小时为间隔显示时间(屏幕空间很小,因此需要2小时的间隔时间)。我有这个:

xAxis: {
    type : 'datetime',
    title: {
        text: 'Time ('+period+')'
        },
    dateTimeLabelFormats: {
        minute: '%H:%M',
        hour: '%H:%M'
        }
}

和这样的系列:

[15999.999999999996,14999.999999999996,15999.999999999996,14999.999999999996,13999.999999999996,15999.999999999996,17999.999999999993,17999.999999999993,16999.999999999993,15999.999999999996,16999.999999999993,14999.999999999996,14999.999999999996,13999.999999999996,14999.999999999996,14999.999999999996,14999.999999999996,14999.999999999996,15999.999999999996,19999.999999999993,23999.999999999993,27999.999999999993,24999.999999999993,22999.999999999993,21999.999999999993,23999.999999999993,29999.999999999993,26999.999999999993,29999.999999999993,31999.999999999993,34999.999999999985,31999.999999999993,31999.999999999993,33999.999999999985,34999.999999999985,32999.999999999985,32999.99999999998,32999.99999999997,32999.99999999997,32999.99999999997,32999.999999999985,32999.999999999985,34999.999999999985,32999.999999999985,32999.999999999985,32999.999999999985,35999.999999999985,32999.999999999985,35999.999999999985,32999.999999999985,33999.999999999985,30999.999999999993,28999.999999999993,31999.999999999993,32999.999999999985,33999.999999999985,30999.999999999993,32999.999999999985,32999.999999999985,30999.999999999993,30999.999999999993,31999.999999999993,31999.999999999993,29999.999999999993,29999.999999999993,30999.999999999993,30999.999999999993,26999.999999999993,25999.999999999993,27999.999999999993,29999.999999999993,27999.999999999993,26999.999999999993,25999.999999999993,26999.999999999993,27999.999999999993,25999.999999999993,28999.999999999993,29999.999999999993,26999.999999999993,24999.999999999993,18999.999999999993,17999.999999999993,16999.999999999993,16999.999999999993,15999.999999999996,16999.999999999993,15999.999999999996,14999.999999999996,15999.999999999996,15999.999999999996,14999.999999999996,14999.999999999996,15999.999999999996,15999.999999999996,14999.999999999996]

但是xaxis上的值是:

00:00:00.020    00:00:00.040     00:00:00.020    00:00:00.020

我已经开始使用highcharts API了,但我不知道如何处理时间序列。

如何告诉highcharts正确显示时间?

2 个答案:

答案 0 :(得分:3)

如果轴的类型为datetime,那么图表将以最适合的方式呈现它们。如果您不喜欢它们的渲染方式,您可以像使用dateTimeLabelFormats那样控制图表的日期时间格式。

根据图表选择以下默认格式之一时数据的日期时间范围:

second: '%H:%M:%S',
minute: '%H:%M',
hour: '%H:%M',
day: '%e. %b',
week: '%e. %b',
month: '%b \'%y',
year: '%Y'

如果您想将它们全部强加到小时和分钟,无论范围是什么,请按如下方式设置:

second: '%H:%M',
minute: '%H:%M',
hour: '%H:%M',
day: '%H:%M',
week: '%H:%M',
month: '%H:%M',
year: '%H:%M'

要控制显示日期的间隔,请使用tickInterval。由于你的轴是类型 datetime你必须使用毫秒作为tickInterval的单位。因此,1小时的滴答间隔(以毫秒为单位)为3600000.如果您希望它为2小时,则使用7200000。

答案 1 :(得分:1)

这里粗略猜测你没有在你的系列中加入时间。 如果你的xAxis是datetime,你需要以某种方式提供给HighCharts。 例如,您的系列应该如下所示:

[[timeInJSTime1, 15999.999999999996],
 [timeInJSTime2, 14999.999999999996],
 ....
]