in packages/charts/src/scales/scale_continuous.ts [312:323]
export function limitLogScaleDomain([min, max]: ContinuousDomain, logMinLimit: number): [min: number, max: number] {
// todo further simplify this
const absLimit = Math.abs(logMinLimit);
const fallback = absLimit || LOG_MIN_ABS_DOMAIN;
if (absLimit > 0 && min > 0 && min < absLimit) return max > absLimit ? [absLimit, max] : [absLimit, absLimit];
if (absLimit > 0 && max < 0 && max > -absLimit) return min < -absLimit ? [min, -absLimit] : [-absLimit, -absLimit];
if (min === 0) return max > 0 ? [fallback, max] : max < 0 ? [-fallback, max] : [fallback, fallback];
if (max === 0) return min > 0 ? [min, fallback] : min < 0 ? [min, -fallback] : [fallback, fallback];
if (min < 0 && max > 0) return Math.abs(max) >= Math.abs(min) ? [fallback, max] : [min, -fallback];
if (min > 0 && max < 0) return Math.abs(min) >= Math.abs(max) ? [min, fallback] : [-fallback, max];
return [min, max];
}