问题是当datetime系列缺少某个t的数据点时,百分比区域功能似乎不起作用。
例如。去除
{
x: new Date("2008-10-31T00:00:00.000Z"),
y: 0,
drilldown: 'my_drilldown'
}
来自http://jsfiddle.net/qtoas0jg/3/的系列,给http://jsfiddle.net/qtoas0jg/4/。
预期/期望的行为是该区域应该在所有时间t填充。在完成文档之后,我得出结论connectNulls:false
,也使用step:"left"
我可以实现一个系列的欲望行为,一个保持所有t的值,但是再次不是第二个系列。
有任何想法吗?
编辑:
我无法使用Highcharts功能解决问题。相反,我(非常不明智地)通过为缺失的t添加值0来操纵我放入的系列。如果有人绊倒了这个问题,以下内容可能会有用:
let asd = []
// Firstly finding which t:s that need to be added for respective series
let to_be_added = series.map(arg_a => {
return([arg_a.name,arg_a.data.reduce((acc_b,arg_b) => {
// Adding all available t:s
(asd.indexOf(arg_b.x.toString())>=0?0:asd.push(arg_b.x.toString()))
acc_b.push(arg_b.x.toString())
return acc_b
},[])])
}).map(arg_a => {
return [arg_a[0],asd.filter(arg_b => arg_a[1].indexOf(arg_b)<0)]
})
// Adding the new timestamps with y:0
to_be_added.map(arg_a => {
series.map((arg_b,ind) => {
if (arg_b.name == arg_a[0]) {
arg_a[1].reverse().map(arg_c => {
series[ind].data.unshift({x:new Date(arg_c),y:0})
})
}
})
})
这个问题是由Highcharts bug引起的:https://github.com/highcharts/highcharts/issues/5634
要解决方法,请使用timestamps
而不是Date
对象:
data: [{
x: new Date("2008-10-31T00:00:00.000Z").getTime(),
...
}, ...]