所以,我试图在Highcharts中进行深入研究,其中x轴类型是datetime
,为此,我以毫秒为单位传递数据。但是,我发现我的x轴值与相应的条不对齐,存在轻微的不匹配。
此外,每个月的值都是上个月最后一个月的第一个值,而我甚至没有那个值,而是从相应月份的第一个开始。
以下是Highchart的JSFiddle:
提供的时间戳是格林威治标准时间+05:30时区的午夜。
“对于轴缩放,刻度线放置和时间显示”......“无论用户代理的时区设置如何,时间均匀显示”
因此在UTC中,每个时间戳对应于前一天下午6:30。这就是放置关闭的原因,这就是为什么每个月的第一个值是上个月的最后一个日期。
你可以通过在Highcharts中设置useUTC: false
来使你的时区工作,但它不能在其他时区正确显示。
Highcharts.setOptions({
time: {
useUTC: false
}
});
或者,您也可以调整所有这些时间戳,使它们对应于午夜UTC时间。
根据您的要求,您可以导入Moment.js和Moment Timezone,并使用time.timezone将图表设置为在“Asia / Kolkata”时区(fiddle)中工作。
Highcharts.setOptions({
time: {
timezone: 'Asia/Kolkata'
}
});