我经常面临无法解析时间对象问题的问题。我想生成一个左边(Y轴)显示概率的图表。假设概率为0,0.2,0.4等.1。在图表上,我想绘制某个特定时间的概率。以下代码就是我正在使用的。
arr1是包含概率的数组。 arr5是包含arr1中每个概率的时间戳的数组。时间格式为“12:03:55”。
现在的问题是,如果我要将时间戳硬编码到图表列中,图表将显示完全正常。但是我从用户上传的.csv文件中获取时间,因此我连接了一个具有时间戳的数组。这给了我错误的解析x '12:03:55'到Date对象。
我做了console.log(dataTime),所以我知道我的concat已经以预期的格式正确执行了。这就是console.log返回的内容。
["times", "12:03:55", "12:03:56", "12:03:56", "12:03:56", "12:03:57", "12:03:57", "12:03:58", "12:03:58", "12:03:59", "12:03:59", "12:04:00"]
这就是dataMood的console.log返回的内容。
["Mood", 0.3677342, 0.34968433, 0.32662648, 0.3163717, 0.78009516, 0.97079295, 0.97183245, 0.9724318, 0.9689829, 0.7293974, 0.12735543]
以下是我正在使用的代码。
var labelMood = 'Mood';
var dataMood = [labelMood].concat(arr1);
var times = 'times';
var dataTime = [times].concat(arr5);
var chart = c3.generate({
bindto: '#line',
data: {
x: 'times',
xFormat: '%H:%M:%S',
columns: [
dataTime, dataMood
]
},
axis: {
x: {
type: 'timeseries',
tick: {
format: '%H:%M:%S'
}
}
}
});
我真的不明白为什么这不起作用,因为连接对象的格式与我将时间硬编码到列中的方式相同。用谷歌搜索了好几个小时后,我的智慧结束了。希望以前有人遇到过这个问题并成功解决了它。