Skip to content

Commit 2aaae88

Browse files
committed
fix: use average instead of sum as default y-axis aggregation for time series plot
Changed the default aggregation type for time series line charts from 'sum' to 'average', which provides a more meaningful representation of the data over time. Sum can be misleading when the number of data points varies across time bins. Updated all test expectations to match the new default behavior. Fixes #3122 Signed-off-by: pierreeurope <pierre.europe@pm.me>
1 parent 8c5030c commit 2aaae88

7 files changed

Lines changed: 39 additions & 28 deletions

File tree

src/utils/src/plot.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -698,6 +698,6 @@ export function getDefaultPlotType(filter, datasets) {
698698
interval,
699699
defaultTimeFormat,
700700
type: PLOT_TYPES.histogram,
701-
aggregation: AGGREGATION_TYPES.sum
701+
aggregation: AGGREGATION_TYPES.average
702702
};
703703
}

test/fixtures/state-saved-v0.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -901,7 +901,7 @@ export const mergedFilters = [
901901
interval: '5-second',
902902
defaultTimeFormat: 'L LTS',
903903
type: 'histogram',
904-
aggregation: 'sum'
904+
aggregation: 'average'
905905
},
906906
yAxis: null,
907907
domain: [1453770124000, 1453770810000],

test/fixtures/test-csv-data.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -662,7 +662,7 @@ export const mergedTimeFilter = {
662662
interval: '1-hour',
663663
defaultTimeFormat: 'L H A',
664664
type: 'histogram',
665-
aggregation: 'sum'
665+
aggregation: 'average'
666666
},
667667
yAxis: null,
668668
value: [1474606800000, 1474617600000],
@@ -712,7 +712,7 @@ export const mergedEpochFilter = {
712712
interval: '15-minute',
713713
defaultTimeFormat: 'L LT',
714714
type: 'histogram',
715-
aggregation: 'sum'
715+
aggregation: 'average'
716716
},
717717
yAxis: null,
718718
value: [1472700000000, 1472760000000],
@@ -751,7 +751,7 @@ export const expectedSyncedTsFilter = {
751751
interval: '15-second',
752752
defaultTimeFormat: 'L LTS',
753753
type: 'histogram',
754-
aggregation: 'sum',
754+
aggregation: 'average',
755755
colorsByDataId: {
756756
'test-csv-data-1': '#FF0000',
757757
'test-csv-data-2': '#00FF00'

test/node/reducers/vis-state-test.js

Lines changed: 31 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2938,7 +2938,7 @@ test('#visStateReducer -> setFilter.fixedDomain & DynamicDomain & gpu & cpu', as
29382938
plotType: {
29392939
type: 'histogram',
29402940
interval: '15-second',
2941-
aggregation: 'sum',
2941+
aggregation: 'average',
29422942
defaultTimeFormat: 'L LTS'
29432943
},
29442944
yAxis: null,
@@ -3384,14 +3384,14 @@ test('#visStateReducer -> SET_FILTER_PLOT.yAxis', t => {
33843384
interval: '15-second',
33853385
defaultTimeFormat: 'L LTS',
33863386
type: 'lineChart',
3387-
aggregation: 'sum'
3387+
aggregation: 'average'
33883388
},
33893389
yAxis: yAxisField,
33903390
lineChart: {
3391-
yDomain: [0, 12124],
3391+
yDomain: [1, 12124],
33923392
xDomain: [1474070985000, 1474072215000],
33933393
interval: '15-second',
3394-
aggregation: 'sum',
3394+
aggregation: 'average',
33953395
series: {
33963396
lines: [
33973397
[
@@ -3402,29 +3402,40 @@ test('#visStateReducer -> SET_FILTER_PLOT.yAxis', t => {
34023402
{x: 1474071240000, y: 5, delta: 'last', pct: 0.25},
34033403
{x: 1474071300000, y: 12124, delta: 'last', pct: 2423.8},
34043404
{x: 1474071360000, y: 222, delta: 'last', pct: -0.9816892114813592},
3405-
{x: 1474071420000, y: 345, delta: 'last', pct: 0.5540540540540541},
3406-
{x: 1474071480000, y: 0, delta: 'last', pct: -1},
3407-
{x: 1474071540000, y: 0, delta: 'last', pct: null},
3408-
{x: 1474071555000, y: 0, delta: 'last', pct: null},
3409-
{x: 1474071600000, y: 0, delta: 'last', pct: null},
3410-
{x: 1474071675000, y: 0, delta: 'last', pct: null},
3411-
{x: 1474071735000, y: 0, delta: 'last', pct: null},
3412-
{x: 1474071795000, y: 0, delta: 'last', pct: null},
3413-
{x: 1474071855000, y: 1, delta: 'last', pct: null},
3414-
{x: 1474071915000, y: 0, delta: 'last', pct: -1},
3405+
{x: 1474071420000, y: 345, delta: 'last', pct: 0.5540540540540541}
3406+
],
3407+
[
3408+
{x: 1474071855000, y: 1, delta: 'last', pct: null}
3409+
],
3410+
[
34153411
{x: 1474071975000, y: 43, delta: 'last', pct: null},
34163412
{x: 1474072050000, y: 4, delta: 'last', pct: -0.9069767441860465},
3417-
{x: 1474072110000, y: 5, delta: 'last', pct: 0.25},
3418-
{x: 1474072170000, y: 0, delta: 'last', pct: -1},
3419-
{x: 1474072200000, y: 13, delta: 'last', pct: null}
3413+
{x: 1474072110000, y: 5, delta: 'last', pct: 0.25}
3414+
],
3415+
[
3416+
{x: 1474072200000, y: 6.5, delta: 'last', pct: null}
34203417
]
34213418
],
3422-
markers: []
3419+
markers: [
3420+
{x: 1474070985000, y: 1, delta: 'last', pct: null},
3421+
{x: 1474071045000, y: 2, delta: 'last', pct: 1},
3422+
{x: 1474071105000, y: 3, delta: 'last', pct: 0.5},
3423+
{x: 1474071165000, y: 4, delta: 'last', pct: 0.3333333333333333},
3424+
{x: 1474071240000, y: 5, delta: 'last', pct: 0.25},
3425+
{x: 1474071300000, y: 12124, delta: 'last', pct: 2423.8},
3426+
{x: 1474071360000, y: 222, delta: 'last', pct: -0.9816892114813592},
3427+
{x: 1474071420000, y: 345, delta: 'last', pct: 0.5540540540540541},
3428+
{x: 1474071855000, y: 1, delta: 'last', pct: null},
3429+
{x: 1474071975000, y: 43, delta: 'last', pct: null},
3430+
{x: 1474072050000, y: 4, delta: 'last', pct: -0.9069767441860465},
3431+
{x: 1474072110000, y: 5, delta: 'last', pct: 0.25},
3432+
{x: 1474072200000, y: 6.5, delta: 'last', pct: null}
3433+
]
34233434
},
34243435
yAxis: 'uid',
3425-
title: 'Total of uid',
3436+
title: 'Average of uid',
34263437
fieldType: 'integer',
3427-
allTime: {title: 'All Time Average', value: 580.5454545454545},
3438+
allTime: {title: 'All Time Average', value: 981.9615384615385},
34283439
bins
34293440
},
34303441
speed: 1,

test/node/schemas/vis-state-schema-test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ test('#visStateSchema -> v1 -> save load filters', t => {
107107
interval: '1-hour',
108108
defaultTimeFormat: 'L H A',
109109
type: 'histogram',
110-
aggregation: 'sum'
110+
aggregation: 'average'
111111
},
112112
yAxis: null,
113113
animationWindow: 'free',

test/node/utils/filter-utils-test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -567,7 +567,7 @@ test('filterUtils -> mergeFilterWithTimeline', t => {
567567
interval: '1-minute',
568568
defaultTimeFormat: 'L LT',
569569
type: 'histogram',
570-
aggregation: 'sum'
570+
aggregation: 'average'
571571
},
572572
yAxis: null,
573573
gpu: true,

test/node/utils/timeline-test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ test('#timeline -> getTimelineFromFilter', t => {
2222
interval: '5-minute',
2323
defaultTimeFormat: 'L LT',
2424
type: 'histogram',
25-
aggregation: 'sum'
25+
aggregation: 'average'
2626
},
2727
yAxis: null,
2828
gpu: true,

0 commit comments

Comments
 (0)