function kernelDensityEstimator()

in custom-series/violin/src/index.ts [32:44]


function kernelDensityEstimator(
  kernel: (u: number) => number,
  bandwidth: number,
  data: number[]
) {
  return function (x: number) {
    let sum = 0;
    for (let i = 0; i < data.length; i++) {
      sum += kernel((x - data[i]) / bandwidth);
    }
    return sum / (data.length * bandwidth);
  };
}