From c4233171f27f0fda64f0aecbd0b112d9cb20333c Mon Sep 17 00:00:00 2001 From: "Grot (@grafanabot)" <43478413+grafanabot@users.noreply.github.com> Date: Sat, 22 Oct 2022 00:41:45 +0200 Subject: [PATCH] TimeSeries: fix negative stacked percent y-axis range (#57470) (#57478) (cherry picked from commit 45707ccf99b5e3a129b13a2e53e1c434d160ca74) Co-authored-by: Leon Sorokin --- packages/grafana-ui/src/components/TimeSeries/utils.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/grafana-ui/src/components/TimeSeries/utils.ts b/packages/grafana-ui/src/components/TimeSeries/utils.ts index 9f5b4fd59e3..76f195120e4 100644 --- a/packages/grafana-ui/src/components/TimeSeries/utils.ts +++ b/packages/grafana-ui/src/components/TimeSeries/utils.ts @@ -223,7 +223,14 @@ export const preparePlotConfigBuilder: UPlotConfigPrepFn<{ softMin: customConfig.axisSoftMin, softMax: customConfig.axisSoftMax, centeredZero: customConfig.axisCenteredZero, - range: customConfig.stacking?.mode === StackingMode.Percent ? [0, 1] : undefined, + range: + customConfig.stacking?.mode === StackingMode.Percent + ? (u: uPlot, dataMin: number, dataMax: number) => { + dataMin = dataMin < 0 ? -1 : 0; + dataMax = dataMax > 0 ? 1 : 0; + return [dataMin, dataMax]; + } + : undefined, decimals: field.config.decimals, }, field