【发布时间】:2014-06-11 02:22:18
【问题描述】:
我是 d3.js 和 c3.js 的新手。我想要 c3.js 中的动态时间戳,如this d3.js example 所示。它应该根据时间范围改变时间格式。
我关注c3js.org's time series example。但无法获得动态范围。
代码如下。
更新 1
var date1=new Date(1397657484*1000);
var date2=new Date(1397657514*1000);
var date3=new Date(1397657554*1000);
var date4=new Date(1397657594*1000);
var date5=new Date(1397657641*1000);
var date6=new Date(1398323901*1000);
var seconds = (date6.getTime() - date1.getTime())/1000;
var xaxisformat;
if (seconds < 86400)
{
xaxisformat = '%I:%M:%S';
}
else {
xaxisformat = '%Y-%m-%d %I:%M';
}
var format=d3.time.format(xaxisformat); //I am converting after if loop since we are calculating seconds using javascript.
date1=format(date1); //I think this formatting required to pass d3.time to c3js
date2=format(date2);
date3=format(date3);
date4=format(date4);
date5=format(date5);
date6=format(date6);
var chart = c3.generate({
data: {
x: 'x',
columns: [
['x',date1, date2, date3, date4, date5, date6],
['data1', 30, 200, 100, 400, 150, 250],
['data2', 130, 340, 200, 500, 250, 350]
]
},
axis: {
x: {
type: 'timeseries',
tick: {
format: xaxisformat
}
}
}
});
这可能是个愚蠢的问题,但我是这个领域的新手。
【问题讨论】:
-
关于编辑(c3 -> d3),其实有一个c3库就是用D3来创建帮助可重用图表。所以这个问题是有效的。这对我来说也是新闻,但记录在这里:c3js.org
标签: javascript d3.js linechart c3.js