TimeSeries: Fix log y scale when min/max settings don't land on divisors (#60768)

This commit is contained in:
Leon Sorokin 2023-01-27 06:52:01 -06:00 committed by GitHub
parent 6bfd21ef0a
commit 52955d88a7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -116,7 +116,7 @@ export class UPlotScaleBuilder extends PlotConfigBuilder<ScaleProps, Scale> {
minMax = uPlot.rangeNum(hardMinOnly ? hardMin : dataMin, hardMaxOnly ? hardMax : dataMax, rangeConfig); minMax = uPlot.rangeNum(hardMinOnly ? hardMin : dataMin, hardMaxOnly ? hardMax : dataMax, rangeConfig);
} }
} else if (scale.distr === 3) { } else if (scale.distr === 3) {
minMax = uPlot.rangeLog(dataMin!, dataMax!, logBase, true); minMax = uPlot.rangeLog(hardMin ?? dataMin!, hardMax ?? dataMax!, logBase, true);
} }
if (decimals === 0) { if (decimals === 0) {
@ -154,13 +154,15 @@ export class UPlotScaleBuilder extends PlotConfigBuilder<ScaleProps, Scale> {
} }
} }
// if all we got were hard limits, treat them as static min/max if (scale.distr === 1) {
if (hardMinOnly) { // if all we got were hard limits, treat them as static min/max
minMax[0] = hardMin!; if (hardMinOnly) {
} minMax[0] = hardMin!;
}
if (hardMaxOnly) { if (hardMaxOnly) {
minMax[1] = hardMax!; minMax[1] = hardMax!;
}
} }
// guard against invalid y ranges // guard against invalid y ranges