我正在使用 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
...
这给了我以下结果:
呈现的日期是正确的,但我有 2 个问题
首先,日期太长,明显破坏了图表布局。
其次,粒度是固定的。我希望它根据缩放级别进行更改,例如本例中:http://dygraphs.com/tests/demo.html
如何解决这个问题?
最佳答案
虽然我没有找到如何在您描述的原始场景中格式化客户端的日期,但似乎有效的解决方法是首先格式化日期服务器端。不要直接向 Dygraphs 提供时间戳,而是将“Y-m-d H:i:s”字符串传递给日期字段,时间标签将在最终图表中变得简短且可读。这也意味着如果您希望数据源是 csv 文件,您必须首先在服务器端对其进行预处理。
关于javascript - 使用 Dygraphs 格式化日期时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23220594/