Highstock compare如何将当前数据点与之前的数据点进行比较

时间:2016-11-21 07:56:59

标签: javascript highcharts jquery-plugins highstock

我正在使用这个比较示例:http://www.highcharts.com/stock/demo/compare。 这个例子很棒。它显示了起始数据(索引0)和当前数据之间的差异。例如,我有以下数据:

[
   [147893849384,20] (+0%)
   [147893849385,40] (+200%)
   [147893849386,400] (+2000%)
   [147893849386,10] (-50%)
]

我想修改比较之前的数据而不是开始数据。

[
   [147893849384,20] (+0%)
   [147893849385,40] (+200%)
   [147893849386,400] (+1000%)
   [147893849386,100] (-75%)
]

我怎么能这样做?请帮助〜

谢谢。

1 个答案:

答案 0 :(得分:1)

好的,从提供的数据来看,它只是比较每个数组的第二个索引。所以你可以这样做:

var data = [
  [147893849384,20],
  [147893849385,40],
  [147893849386,400],
  [147893849386,10]
];

for(var i = 0; i < data.length; ++i) {
  // skip first item
  if(i === 0) { 
    continue;
  }
  
  let prevDataPoint = data[i - 1][1];
  let currentDataPoint = data[i][1];
  
  // Multiply by 100 to get value as percentage.
  let percentageDifference = ((currentDataPoint - prevDataPoint)/prevDataPoint) * 100;
  
  console.log(i + " Percentage Difference: " + percentageDifference + "%");
}