Skip to content

Commit 9aac596

Browse files
committed
feat: prepare for mean rendering
1 parent 904e9ea commit 9aac596

File tree

3 files changed

+8
-3
lines changed

3 files changed

+8
-3
lines changed

src/controllers/BoxPlotController.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,10 @@ export class BoxPlotController extends StatsBase<IBoxPlot, Required<IBoxplotOpti
2727
}
2828

2929
_transformStats<T>(target: any, source: IBoxPlot, mapper: (v: number) => T) {
30-
for (const key of ['min', 'max', 'median', 'q3', 'q1', 'whiskerMin', 'whiskerMax']) {
31-
target[key] = mapper(source[key as 'min' | 'max' | 'median' | 'q3' | 'q1' | 'whiskerMin' | 'whiskerMax']);
30+
for (const key of ['min', 'max', 'median', 'q3', 'q1', 'whiskerMin', 'whiskerMax', 'mean']) {
31+
target[key] = mapper(
32+
source[key as 'min' | 'max' | 'median' | 'q3' | 'q1' | 'whiskerMin' | 'whiskerMax' | 'mean']
33+
);
3234
}
3335
for (const key of ['outliers', 'items']) {
3436
if (Array.isArray(source[key as keyof IBoxPlot])) {
@@ -47,7 +49,7 @@ export class BoxPlotController extends StatsBase<IBoxPlot, Required<IBoxplotOpti
4749
numbers: {
4850
type: 'number',
4951
properties: BarController.defaults.datasets.animation.numbers.properties.concat(
50-
['q1', 'q3', 'min', 'max', 'median', 'whiskerMin', 'whiskerMax'],
52+
['q1', 'q3', 'min', 'max', 'median', 'whiskerMin', 'whiskerMax', 'mean'],
5153
boxOptionsKeys.filter((c) => !c.endsWith('Color'))
5254
),
5355
},

src/data.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ export interface IBoxPlot extends IBaseStats {
3333
outliers: readonly number[];
3434
whiskerMax: number;
3535
whiskerMin: number;
36+
mean: number;
3637
}
3738

3839
export interface IKDEPoint {
@@ -185,6 +186,7 @@ export function boxplotStats(arr: readonly number[] | Float32Array | Float64Arra
185186
whiskerMin: r.whiskerLow,
186187
max: r.max,
187188
median: r.median,
189+
mean: r.mean,
188190
min: r.min,
189191
q1: r.q1,
190192
q3: r.q3,

src/elements/BoxAndWiskers.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ export interface IBoxAndWhiskerProps extends IStatsBaseProps {
2727
median: number;
2828
whiskerMin: number;
2929
whiskerMax: number;
30+
mean: number;
3031
}
3132

3233
export class BoxAndWiskers extends StatsBase<IBoxAndWhiskerProps, IBoxAndWhiskersOptions> {

0 commit comments

Comments
 (0)