我需要输入 y 轴时间格式 hh:mm,例如 y 轴应该有 16:00、32:00 等。刻度或类似的时间。
我一直在使用 highcharts - 我是 JS 和网络编程的新手。
我的数据以毫秒为单位,并将其转换为 hh:mm 格式,但是当我的毫秒数超过 86400000(24 小时) 时,它会显示下一个日期,我需要它仍以小时为单位显示:分钟格式。
有什么办法吗?我试图将 y 轴从 type: 'datetime'
更改为 type: 'time'
,但它对我帮助不大。
这是 jsfiddle我的图表示例和波纹管你可以找到 js 代码。
$(function () {
$('#container').highcharts({
chart: {
type: 'column'
},
xAxis: {
categories: [
'Jan',
'Feb',
'Mar',
'Apr',
'May',
'Jun',
'Jul',
'Aug',
'Sep',
'Oct',
'Nov',
'Dec'
]
},
yAxis: {
title: {
text: 'Time (hh:mm)'
},
type: 'datetime',
dateTimeLabelFormats: {
hour: '%H:%M'
}
},
plotOptions: {
column: {
pointPadding: 0.2,
borderWidth: 0
}
},
series: [{
name: 'Tokyo',
data: [0, 0, 0, 0, 76320000, 25920000, 102840000, 0, 0, 0, 0, 0]
}]
});
});
最佳答案
如果有人需要的话,这是我得到的答案(这里是 jsfiddle 的 link)。
我以毫秒为单位设置时间变量:
data: [0, 0, 0, 0, 76320000, 25920000, 102840000, 0, 0, 0, 0, 0]
然后我根据需要格式化此值:
yAxis: {
title: {
text: 'Time (hh:mm)'
},
labels: {
formatter: function () {
var time = this.value;
var hours1=parseInt(time/3600000);
var mins1=parseInt((parseInt(time%3600000))/60000);
return hours1 + ':' + mins1;
}
}
}
这是我发现以纯 hh:mm 格式制作 y 轴的唯一方法。您也可以不以毫秒为单位制作数据,而是以您想要或需要的形式制作数据。
关于javascript - 以时间格式制作 highcharts 的 y 轴 hh :mm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19836382/