如何在 Highcharts 图表中显示月度数据?

How to display monthly data in Highcharts graph?

看起来是个愚蠢的问题。可能是。但我真的不明白。

我有大约 30 年的月度数据。我既不确定如何格式化数据,也不确定如何格式化 Highcharts 图表。

正确的数据格式化方式是什么?像 "running month",从 1 到 433(以及更多):

Date,Value
1,338.45
2,339.15
3,339.47

或Date.UTC格式:

Date,Value
Date.UTC(1980,1,1),338.45
Date.UTC(1980,2,1),339.15
Date.UTC(1980,3,1),339.47

我也做过类似的,不过觉得这个风格不太好:

Date,Value
1 Jan 1993,
2 Jan 1993,
3 Jan 1993,
4 Jan 1993,
5 Jan 1993,-4.19413878126
6 Jan 1993,
7 Jan 1993,

对于 xAxis 定义,我看到使用了不同的参数。但由于这取决于数据格式,不太确定放在那里:

xAxis: {
  type:"datetime",
  min: Date.UTC(1980, 1, 1),
  ...

非常感谢您给我的提示。

要将 xAxis 设置为时间段,您有以下选项: 1. 使用 Date.UTC(年月日):

data: [
  [Date.UTC(2016, 0, 5), 4],
  [Date.UTC(2016, 1, 6), 6],
  [Date.UTC(2016, 1, 7), 9],

检查example

  1. 使用日期写成数字,指定自 1970 年 1 月 1 日以来的毫秒数,00:00:00。

    var xArr = [1455661712000, 1455661791000, 1455661869000, 1455661947000, ];

勾选example

希望这些对您有所帮助,否则请随时询问更多详情。

一条建议,如你所问:

  1. Date.UTC(1980,1,1) - 这是 JavaScript 函数,到 return timestamp。例如 Date.UTC(1980,1,1) -> 318211200000。我建议在您的图表传入数据中使用时间戳。 注意: JS 中的月份从 0 开始(0-> 1 月,1->2 月等)。

  2. min: Date.UTC(1980, 1, 1) -> 这不是必需的,Highcharts lib 足够智能以计算 xAxis 上的极值,您不必设置它,除非您只想显示部分图表上的数据。

例如,我会使用该格式:

Date,Value
318211200000,338.45
320716800000,339.15
323395200000,339.47

请注意,所有格式都可以 - 我只是建议使用最简单的一种 ;)