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