我正在使用Dygraph和jQuery,如下所示:
$.getJSON('/myurl/for/jsondata', function(data) {
g = new Dygraph(document.getElementById("demodiv"), data, {});
});
响应数据如下:
[[1372951380.0, 82.31065525957484], [1372951440.0, 85.25771431214908], [1372951500.0, 81.12563963030715], [1372951560.0, 80.87068966263206], [1372951620.0, 80.18137775897438], [1372951680.0, 81.46331467662664], [1372951740.0, 77.4216130457947]]
我的麻烦是dygraph似乎没有将时间戳作为日期。它显示了传奇的数字。我尝试使用ValueFormatter,ValueParser和AxisLabelFormatter,但没有成功(也许我做错了?)
有人知道如何在没有遍历所有数据的情况下启用datetime并手动转换时间戳吗?
答案 0 :(得分:1)
你试过了吗?
var utcSeconds = 1372951380;
var d = new Date(0); // The 0 there is the key, which sets the date to the epoch
d.setUTCSeconds(utcSeconds);
查看http://dygraphs.com/data.html并滚动到Array(本机格式)
答案 1 :(得分:-1)
这样做:
data_for_dygraph = $.map(data_from_json, function(n) {
return [ [ new Date(n[0]), n[1] ] ];
});
其中data_from_json的格式为[[timestamp,y-value],[ts,t-val],...]
然后使用data_for_dygraph作为dygraph的数据源: