diff --git a/src/compile/mark/encode/zeroOrMinOrMax.ts b/src/compile/mark/encode/zeroOrMinOrMax.ts index f7dae689fe..04e4c55ce5 100644 --- a/src/compile/mark/encode/zeroOrMinOrMax.ts +++ b/src/compile/mark/encode/zeroOrMinOrMax.ts @@ -20,6 +20,21 @@ export function zeroOrMinOrMax({ }; } + if (scaleName) { + const domain = `domain('${scaleName}')`; + const min = `${domain}[0]`; + const max = `${domain}[1]`; + + switch (mode) { + case 'min': + return {signal: `scale('${scaleName}', ${min})`}; // encode the scale domain min + case 'zeroOrMin': + return {signal: `scale('${scaleName}', inrange(0, ${domain}) ? 0 : ${min})`}; // encode the scale domain min + default: //zeroOrMax + return {signal: `scale('${scaleName}', inrange(0, ${domain}) ? 0 : ${max})`}; // encode the scale domain min + } + } + if (mode === 'zeroOrMin' || mode === 'min') { switch (mainChannel) { case 'radius':