以时间格式hh:mm制作高图表的y轴
Making y axis of highcharts in time format hh:mm
我需要输入 y 轴时间格式 hh:mm,例如 y 轴应该有 16:00、32:00 等刻度或 smth simmilar。
我一直在使用高图表 - 我是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的链接)。
我以毫秒为单位设置时间变量:
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轴的唯一方法。您也可以使数据不是以毫秒为单位,而是以您想要或需要的 w/e 为单位。
那么最好使用您自己的格式化方法,在这里您将对格式进行更多控制。 您可以使用格式化程序,如下所示。
yAxis: {
labels: {
formatter: function () {
//get the timestamp
var time = this.value;
//now manipulate the timestamp as you wan using data functions
}
}
}
希望这将帮助您实现所需的目标。
相关文章:
- 如何访问高图表工具提示中的任何特定数据
- 将图表动态添加到组合高图表中
- 在Firefox中导出高图表时出现黑色图像错误
- 在高图表中,每x步只显示标签
- 高图表的文本溢出问题
- 单击时获取父级子级高图表
- 如何在拖动后获得图表的最小值和最大值放大高图表
- 制作高图表'setExtremes使用两个Y轴取消勾选
- ng高图表的响应行为,加载时隐藏编译的ng点击xAxis标签
- 如何根据创建日期对对象进行排序,以插入Meteor的高图表
- 在图例项目之间添加额外空间的高图表
- 正在读取高图表中上载的csv文件
- 高图表数据导入 JSON - 格式
- 带有背景色的高图表柱形图
- 高图表 - 拖动哥伦范围
- 高图表不显示来自csv文件的数据
- 性能问题高图表图和 socket.io
- 高图表图像渲染器自动高度
- 以时间格式hh:mm制作高图表的y轴
- 在 y 轴高图表上显示 HH:MM