我正在尝试绘制具有两列的给定数据的时间序列图,第一列具有时间戳,第二列是此时的相应电压值。通过C3.js url方法访问数据文件,并指定日期时间的解析格式。输出没有出现。我不知道,但是,我在这里尝试的方式是对的吗?请帮助我。
这是我的C3脚本:
var chart=c3.generate({
data: {
url: '/data/data.csv'
x: 'timestamp'
xFormat: '%m/%d/%Y %H:%M:%S %p'
// My date format in .csv file is: 9/30/2015 6:38:00 PM
columns: [
['timestamp', ... ],
['voltage', ... ]
]
},
axis: {
x: {
type: 'timeseries',
tick: {
format: function(x) {
retun x.getDate();
}
}
}
}
});
答案 0 :(得分:1)
经过一些实验,我修改了你的代码,添加了分隔参数所需的逗号(,),并让你的代码片段正常工作。以下是修订后的代码:
var chart=c3.generate({
data: {
url: 'data/data.csv',
x: 'timestamp',
xFormat: '%m/%d/%Y %H:%M:%S %p',
//~ My date format in .csv file is: 3/2/2016 6:44:00 PM
columns: [
['timestamp'],
['voltage']
]
},
axis: {
x: {
type: 'timeseries',
tick: {format: function (x) { return x.getHours(); }}
}
}
});
在'tick'参数中,我认为您需要使用JavaScript日期时间方法,例如'getHours()',因为您尝试格式化该行中的日期,而不是获取新日期。在我的情况下,输出是0到24小时的增量。
另外,我的data.csv文件如下所示:
timestamp,voltage
3/2/2016 6:44:00 PM,30.893
3/2/2016 4:57:00 PM,75.964
3/2/2016 3:43:00 PM,96.37
3/2/2016 2:38:00 PM,99.157
3/2/2016 1:29:00 PM,85.335
3/2/2016 11:16:00 AM,31.445