jQuery 情节显示为 timestamp/time 而不是日期?
jQuery plot to show as timestamp/time rather than date?
所以我对 jquery 带有时间戳显示的绘图条形图有点问题。我的值使用 'time' 格式作为秒 * 1000 传递。
var plot = $.plot($("#graph"), data, {
yaxis: {
ticks: ticks
},
xaxis: {
mode: "time",
minTickSize: [1, "second"],
timeFormat: "%M:%S",
tickDecimals: 0
},
grid: {
show: true,
hoverable: true,
clickable: true,
tickColor: "#efefef"
},
legend: true,
tooltip: true,
tooltipOpts: {
content: toolTipContent
}
});
直到过去 24 小时它突然决定将其变成约会之前,它一直运行良好。正如您在顶部栏下方看到的(实际上是 122 天而不是 4 年)分布在一个日期范围内 - 从时间戳的角度来看这没有多大意义。
.
所以我真正希望滴答声看起来像这样:“100.00:00:00, 150.00:00:00, ...”,或“1.06:00, 1.12:00, ...”或“06: 30:00,07:00:00,...“=23=]
有没有一种简单的 hacky 方法来解决这个问题,或者我是否需要 hackily 替换没有 'time' 格式的 x 轴刻度?
编辑:最新版本的 flot(0.8.3) 仍然如此
一如既往,问题很简单而且容易被忽视。
设置格式的选项应该全部小写 - timeformat
不是 timeFormat
。使用自定义格式化程序,我还可以 return 正确的 'timestamp' 格式。
tickFormatter: function(val, axis){
var days = parseInt(moment.utc(val/10).format("DDD")) - 1;
if(days > 0){
return days + "." + moment.utc(val/10).format("HH:mm:ss");
} else {
return moment.utc(val).format("HH:mm:ss");
}
},
mode: "time",
minTickSize: [1, "second"]
我希望这对其他人有所帮助。
所以我对 jquery 带有时间戳显示的绘图条形图有点问题。我的值使用 'time' 格式作为秒 * 1000 传递。
var plot = $.plot($("#graph"), data, {
yaxis: {
ticks: ticks
},
xaxis: {
mode: "time",
minTickSize: [1, "second"],
timeFormat: "%M:%S",
tickDecimals: 0
},
grid: {
show: true,
hoverable: true,
clickable: true,
tickColor: "#efefef"
},
legend: true,
tooltip: true,
tooltipOpts: {
content: toolTipContent
}
});
直到过去 24 小时它突然决定将其变成约会之前,它一直运行良好。正如您在顶部栏下方看到的(实际上是 122 天而不是 4 年)分布在一个日期范围内 - 从时间戳的角度来看这没有多大意义。
所以我真正希望滴答声看起来像这样:“100.00:00:00, 150.00:00:00, ...”,或“1.06:00, 1.12:00, ...”或“06: 30:00,07:00:00,...“=23=]
有没有一种简单的 hacky 方法来解决这个问题,或者我是否需要 hackily 替换没有 'time' 格式的 x 轴刻度?
编辑:最新版本的 flot(0.8.3) 仍然如此
一如既往,问题很简单而且容易被忽视。
设置格式的选项应该全部小写 - timeformat
不是 timeFormat
。使用自定义格式化程序,我还可以 return 正确的 'timestamp' 格式。
tickFormatter: function(val, axis){
var days = parseInt(moment.utc(val/10).format("DDD")) - 1;
if(days > 0){
return days + "." + moment.utc(val/10).format("HH:mm:ss");
} else {
return moment.utc(val).format("HH:mm:ss");
}
},
mode: "time",
minTickSize: [1, "second"]
我希望这对其他人有所帮助。