首页 > 解决方案 > 范围选择器日期在 Highcharts.Chart() 中始终为 1970-01-01

问题描述

我正在尝试使用创建条形线图,Highcharts.Chart()并且我想rangeSelector根据inputDateFormat: '%Y-%m-%d'格式添加。

我看到有很多方法可以添加格式,rangeSelector但我无法找到使用 Highcharts.Chart() 的方法。我使用毫秒和普通日期格式作为输入数据集日期格式。但是没有用,它总是到 1970-01-01。inputDateFormat: '%Y-%m-%d'Highcharts.stockChart()rangeSelector

有什么方法可以rangeSelector使用 Highcharts.Chart() 将其作为 '%Y-%m-%d' 格式?

这是毫秒格式示例 - http://jsfiddle.net/0x35kL78/2/

这是月份格式示例 - http://jsfiddle.net/zuv1d4st/

标签: javascripthighcharts

解决方案


它默认为 1970-01-01 的原因有两个。

您正在使用字符串作为 x 值。它必须是数字。因此,通过更改所有值:

['1551420000000', 49.9],

[1551420000000, 49.9],

这会处理第一个系列,第二个系列 ( [56.6,46.3,32.8,43.4,40.8,43.0,43.1,44.6,45.7,27.8,39.9,29.3,27.9,27.4,17.6]) 数据没有任何时间戳,因此默认情况下将绘制如下:

[0, 56.6],
[1, 46.3],
[2, 32.8],
...

这是 1970-01-01 之后的 0,1,2 毫秒。您的选择是像第一个系列一样包含时间戳。或者,如果值的间距一致,您可以使用pointStart和 pointInterval 来完成此操作。

例如,我将第二个系列值与您的第一个系列毫秒匹配:http: //jsfiddle.net/ewolden/vnkxrq80/4/


推荐阅读