我正在将数据从Sybase数据库导入到VueJs2中的ChartJS中。我正在使用vue-chart模块
我使用
将时间戳作为Unix时间推送到数组中this.firstIn(new Date(tnaDetails[0].Sunday_FirstIn).getTime())
所以: [Sunday_FirstIn:2010-01-17 08:00:00.0]
会转换为
12637.08亿
然后我将其添加到数据集中:
datasets: [{
type: 'line',
label: "First In",
backgroundColor: "green",
data: this.firstIn,
fill: false
}
]
但是,在图表上绘制数据时,会更改值。上述单位时间戳变为
12637亿
这显然是错误的时间。我没有对选项中的滴答做任何事情。
以下是数字被更改的结果。控制台具有原始数据:
是否有一个设置可以改变ChartJS中我不知道的数字的精度/值?
感谢。 塞特
答案 0 :(得分:0)
对于任何在将来遇到类似问题的人,我会找到一些我找到的解决方案。
首先,从这里Unix Timestamp in JavaScript,我写了这个方法:
throttle
这里的重要部分是确保你有同一天。不执行此操作将导致ChartJS图形绘制y轴上不同位置的时间,即使小时数相同。
然后从this StackOverFlow question和相关的plunker,在图表选项中,我有:
getTimeString: function(dateString) {
var hours = new Date(dateString).getHours();
var mins = new Date(dateString).getMinutes();
return Math.round((new Date("1970-02-01 " + hours + ":" + mins)).getTime());
}
注意回调。他们将格式化时间,计算从设定时间到您需要绘制时间的差异。在第一个功能中,您可以真正使用任何一天,只要它在同一天,它就不重要了。 stepSize将在yAxis上显示每小时的间隔。