如何在 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
使用日期写成数字,指定自 1970 年 1 月 1 日以来的毫秒数,00:00:00。
var xArr = [1455661712000,
1455661791000,
1455661869000,
1455661947000,
];
勾选example
希望这些对您有所帮助,否则请随时询问更多详情。
一条建议,如你所问:
Date.UTC(1980,1,1)
- 这是 JavaScript 函数,到 return timestamp。例如 Date.UTC(1980,1,1)
-> 318211200000
。我建议在您的图表传入数据中使用时间戳。 注意: JS 中的月份从 0 开始(0-> 1 月,1->2 月等)。
min: Date.UTC(1980, 1, 1)
-> 这不是必需的,Highcharts lib 足够智能以计算 xAxis 上的极值,您不必设置它,除非您只想显示部分图表上的数据。
例如,我会使用该格式:
Date,Value
318211200000,338.45
320716800000,339.15
323395200000,339.47
请注意,所有格式都可以 - 我只是建议使用最简单的一种 ;)
看起来是个愚蠢的问题。可能是。但我真的不明白。
我有大约 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
使用日期写成数字,指定自 1970 年 1 月 1 日以来的毫秒数,00:00:00。
var xArr = [1455661712000, 1455661791000, 1455661869000, 1455661947000, ];
勾选example
希望这些对您有所帮助,否则请随时询问更多详情。
一条建议,如你所问:
Date.UTC(1980,1,1)
- 这是 JavaScript 函数,到 return timestamp。例如Date.UTC(1980,1,1)
->318211200000
。我建议在您的图表传入数据中使用时间戳。 注意: JS 中的月份从 0 开始(0-> 1 月,1->2 月等)。min: Date.UTC(1980, 1, 1)
-> 这不是必需的,Highcharts lib 足够智能以计算 xAxis 上的极值,您不必设置它,除非您只想显示部分图表上的数据。
例如,我会使用该格式:
Date,Value
318211200000,338.45
320716800000,339.15
323395200000,339.47
请注意,所有格式都可以 - 我只是建议使用最简单的一种 ;)