为什么 Highcharts 不显示在 x 轴上格式化的日期?
Why isn't Highcharts showing the date formatted on x Axis?
Look at this jsfiddle,即使日期格式为 day: '%e of %Y'
,它仍然以 ISO 格式显示。
这是javascript:
var xAxis = {
type: 'datetime',
dateTimeLabelFormats: {
day: '%e of %Y'
}
};
xAxis.categories = [];
for (var i=1;i<=10;i++){
var d = new Date(2015,3,i);
xAxis.categories[i] = d;
}
$('#container').highcharts({
xAxis: xAxis,
series: [{
data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1]
}]
});
正如 Ondkloss 在评论中所说,您应该使用 datetime
或 categories
。 datetime 在您的情况下是更好的选择。你可以使用这样的东西:
var dataPlusDates = [];
var data = [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1];
for (var i = 1 ; i <= 10 ; i++) {
var d = Date.UTC(2015,3,i);
dataPlusDates.push([d, data[i]]);
}
$('#container').highcharts({
xAxis: xAxis,
series: [{
data: dataPlusDates
}]
});
系列中的数据应采用 [时间(以毫秒为单位)、值] 的格式,再次如 Ondkloss 所说。 time in milliseconds
可以用Date.UTC(year, month, day)
来计算。所以我更改了您的 for 循环并为您创建了该格式并将其放入 series.data。这是 DEMO.
Look at this jsfiddle,即使日期格式为 day: '%e of %Y'
,它仍然以 ISO 格式显示。
这是javascript:
var xAxis = {
type: 'datetime',
dateTimeLabelFormats: {
day: '%e of %Y'
}
};
xAxis.categories = [];
for (var i=1;i<=10;i++){
var d = new Date(2015,3,i);
xAxis.categories[i] = d;
}
$('#container').highcharts({
xAxis: xAxis,
series: [{
data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1]
}]
});
正如 Ondkloss 在评论中所说,您应该使用 datetime
或 categories
。 datetime 在您的情况下是更好的选择。你可以使用这样的东西:
var dataPlusDates = [];
var data = [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1];
for (var i = 1 ; i <= 10 ; i++) {
var d = Date.UTC(2015,3,i);
dataPlusDates.push([d, data[i]]);
}
$('#container').highcharts({
xAxis: xAxis,
series: [{
data: dataPlusDates
}]
});
系列中的数据应采用 [时间(以毫秒为单位)、值] 的格式,再次如 Ondkloss 所说。 time in milliseconds
可以用Date.UTC(year, month, day)
来计算。所以我更改了您的 for 循环并为您创建了该格式并将其放入 series.data。这是 DEMO.