一天两小时之间的高库存过滤数据

时间:2018-02-20 15:31:23

标签: javascript typescript charts highcharts highstock

有没有办法在一天中两小时之间过滤数据?在高图表或高股票?

系列:

{  
   type:'column',
   name: 'series 1',
   data: [[1507068299999, 80], [1507068599999, 100], [1507068899999, 98], [1507093799999, 10]],
   color: 'green',
   dataGrouping:{  
      forced:true,
      groupPixelWidth:100,
      units:[  
         [  
            'hour',
            [  
               1
            ]
         ]
      ],
      approximation:'average',

   },
}

我有一个自定义小时选择器,用户可以选择小时和小时。基于此我需要过滤图表中的数据

enter image description here

有没有办法在高图表/股票配置中设置从小时到小时,以便过滤数据?

提前致谢

2 个答案:

答案 0 :(得分:1)

另一种方法是每当选择器中的值发生变化时,在x轴上使用setExtremes函数。

API参考: https://api.highcharts.com/class-reference/Highcharts.Axis#setExtremes

此解决方案的优点是不需要进行数据修改 - 它非常快。

答案 1 :(得分:0)

您可以使用.filter()Date对象执行此操作。

只需过滤第一行的data,然后将hoursfromto变量进行比较。



var data = [[1507068299999, 80], [1507068599999, 100], [1507068899999, 98], [1507093799999, 10]];

var from = 6;
var to = 7;

//Show the hours contained in your array
console.log(data.map(d => new Date(d[0]).getHours()))
 
//Filter the array depending on from and to
console.log(data.filter(d => (new Date(d[0]).getHours()) >= from && (new Date(d[0]).getHours()) <= to));
&#13;
&#13;
&#13;