使用Dygraphs格式化日期时出现问题

时间:2014-04-22 13:09:02

标签: javascript date dygraphs

我正在使用Dygraphs绘制CSV文件中的数据。日期是UNIX时间戳。

目前我正在解析和格式化日期,如下所示:

    ...
    axes: {
      x : {
        valueFormatter: Dygraph.dateString_,
        ticker: Dygraph.dateTicker
      }
    },
    ...

以下是典型CSV文件的第一行:

x,ATLAS.HLTSV.AvailableCores.DF.HLTSV.Events
1392052678784,0.0
1392052703784,0.0
1392052708784,30.0
1392052713784,845.0
1392052718784,1313.0
1392052723784,1313.0
1392052728784,1431.0
...

这给了我以下结果:

graph

渲染日期是正确的,但我有2个问题

  • 首先日期太长,明显打破图表布局。

  • 其次,粒度是固定的。我希望它根据缩放级别进行更改,例如在此示例中:http://dygraphs.com/tests/demo.html

如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

虽然我没有找到如何在您描述的原始场景中格式化客户端日期,但似乎运行良好的解决方法是首先格式化日期服务器端。不是直接为Dygraphs添加时间戳,而是为日期字段传递“Y-m-d H:i:s”字符串,时间标签将变得简短并且在最终图表中可读。这也意味着如果您希望数据源是csv文件,则必须首先对其进行预处理。