dygraph的xaxis中的时间格式

问题描述:

我需要将x轴格式化为像这样的example。 我的代码dygraph的xaxis中的时间格式

  axes: { 
        x: { 
        axisLabelFormatter: function(x) { 
         return moment(x,"HHmm").format("HH:mm"); 
        } 
        } 

正在逐渐失效日期在x轴缩放时。

+0

这是数据 10:59,1482,10 11:00,934,10 11:01,16,10 13:19,187,10 13:21,390,10 13:22,82, 10 13:23,296,10 – user3917953 2015-03-25 11:36:10

+0

您可以通过dygraphs.com/fiddle提供演示吗?很难说你的问题是什么问题。 – danvk 2015-03-25 14:43:37

+0

嗨,这里的例子在jsfiddle而你去放大你会得到无效的日期http://jsfiddle.net/NtBPk/537/ – user3917953 2015-03-27 07:11:21

您正遇到舍入问题。

> moment(12.6, 'HHmm').format('HH:mm') 
"12:06" 
> moment(12.600000000000001, 'HHmm').format('HH:mm') 
"Invalid date" 

根据moment docs,你应该传递一个字符串,而不是数字。您的号码很可能会转换为字符串,然后解析为日期,即risky business

一个直接的问题是使用moment(Math.round(x))代替moment(x),但仍然存在更深层次的问题,那就是您仍在滥用API时刻。