MCPcopy
hub / github.com/apache/echarts / getMedian

Method getMedian

src/data/DataStore.ts:513–532  ·  view source on GitHub ↗

* Get median of data in one dimension

(dim: DimensionIndex)

Source from the content-addressed store, hash-verified

511 * Get median of data in one dimension
512 */
513 getMedian(dim: DimensionIndex): number {
514 const dimDataArray: number[] = [];
515 // map all data of one dimension
516 this.each([dim], function (val) {
517 if (!isNaN(val as number)) {
518 dimDataArray.push(val);
519 }
520 });
521
522 // TODO
523 // Use quick select?
524 asc(dimDataArray);
525 const len = this.count();
526 // calculate median
527 return len === 0
528 ? 0
529 : len % 2 === 1
530 ? dimDataArray[(len - 1) / 2]
531 : (dimDataArray[len / 2] + dimDataArray[len / 2 - 1]) / 2;
532 }
533
534 /**
535 * Retrieve the index with given raw data index.

Callers 1

numCalculateFunction · 0.45

Calls 3

eachMethod · 0.95
countMethod · 0.95
ascFunction · 0.90

Tested by

no test coverage detected