Skip to content

Commit

Permalink
fix: use child signal for radius if faceted
Browse files Browse the repository at this point in the history
  • Loading branch information
ChiaLingWeng committed Jan 24, 2024
1 parent 12788a5 commit 895c8f4
Showing 1 changed file with 10 additions and 8 deletions.
18 changes: 10 additions & 8 deletions src/compile/scale/range.ts
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ import {Explicit, makeExplicit, makeImplicit} from '../split';
import {UnitModel} from '../unit';
import {ScaleComponentIndex} from './component';
import {durationExpr} from '../../timeunit';
import {isFacetModel} from '../model';

export const RANGE_PROPERTIES: (keyof Scale)[] = ['range', 'scheme'];

Expand Down Expand Up @@ -237,16 +238,16 @@ function fullWidthOrHeightRange(
// For y continuous scale, we have to start from the height as the bottom part has the max value.
return center
? [
SignalRefWrapper.fromName(name => `${getSignalName(name)}/2`, sizeSignal),
SignalRefWrapper.fromName(name => `-${getSignalName(name)}/2`, sizeSignal)
]
SignalRefWrapper.fromName(name => `${getSignalName(name)}/2`, sizeSignal),
SignalRefWrapper.fromName(name => `-${getSignalName(name)}/2`, sizeSignal)
]
: [SignalRefWrapper.fromName(getSignalName, sizeSignal), 0];
} else {
return center
? [
SignalRefWrapper.fromName(name => `-${getSignalName(name)}/2`, sizeSignal),
SignalRefWrapper.fromName(name => `${getSignalName(name)}/2`, sizeSignal)
]
SignalRefWrapper.fromName(name => `-${getSignalName(name)}/2`, sizeSignal),
SignalRefWrapper.fromName(name => `${getSignalName(name)}/2`, sizeSignal)
]
: [0, SignalRefWrapper.fromName(getSignalName, sizeSignal)];
}
}
Expand Down Expand Up @@ -306,11 +307,12 @@ function defaultRange(channel: ScaleChannel, model: UnitModel): VgRange {

case RADIUS: {
// max radius = half od min(width,height)

return [
0,
new SignalRefWrapper(() => {
const w = model.getSignalName('width');
const h = model.getSignalName('height');
const w = isFacetModel(model.parent) ? model.getSignalName('child_width') : model.getSignalName('width');
const h = isFacetModel(model.parent) ? model.getSignalName('child_height') : model.getSignalName('height');
return `min(${w},${h})/2`;
})
];
Expand Down

0 comments on commit 895c8f4

Please sign in to comment.