Improved outlier calculation
This commit is contained in:
parent
55e4b745ef
commit
f3695a016c
@ -145,13 +145,12 @@ export class ChartHitDistributionComponent implements OnInit, OnChanges {
|
||||
let {errorDetails, ys} = this.calculateData(data);
|
||||
|
||||
// Calculate IQR
|
||||
const q1 = ys[Math.floor((ys.length / 4))];
|
||||
const q3 = ys[Math.floor((ys.length * 3) / 4)];
|
||||
const iqr = q3 - q1;
|
||||
const percentiles = this.percentile(ys, [25, 75]);
|
||||
const iqr = percentiles[1] - percentiles[0];
|
||||
|
||||
// Calculate bounds
|
||||
const lowerBound = q1 - 1.5 * iqr;
|
||||
const upperBound = q3 + 1.5 * iqr;
|
||||
const lowerBound = percentiles[0] - 1.5 * iqr;
|
||||
const upperBound = percentiles[1] + 1.5 * iqr;
|
||||
|
||||
// Filter outliers
|
||||
const filteredDetails = errorDetails.filter(detail => detail.x > lowerBound && detail.x < upperBound);
|
||||
@ -166,6 +165,10 @@ export class ChartHitDistributionComponent implements OnInit, OnChanges {
|
||||
}
|
||||
});
|
||||
|
||||
if(Object.entries(filteredData).length === 0) {
|
||||
return data;
|
||||
}
|
||||
|
||||
return filteredData;
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user