Normalise quadrantChart data-point coordinates that were authored on a signed axis (range [-1, 1], e.g. Implementation bottleneck: [0.75, -0.65]) into the required [0, 1] range using the affine map v โ (v + 1) / 2.
Mermaid 11's quadrantChart lexer rejects negative numerics, so the authoring convention "negative = threat / down-left quadrant" is mechanically incompatible with the renderer. Rescaling preserves the spatial layout: a value of -1 lands at 0 (origin edge), 0 lands at 0.5 (centre), +1 lands at 1 (far edge).
Trigger conditions (all must hold; otherwise body returned unchanged):
Top-level diagram type is quadrantChart.
At least one numeric coordinate is < 0.
Every numeric coordinate is in [-1, 1] (so we never silently rescale a mixed-percentage / mixed-fraction block).
Numbers are emitted with at most two decimal places, trailing zeros trimmed, identical to the convention in normaliseQuadrantPercentageCoords.
Normalise quadrantChart data-point coordinates that were authored on a signed axis (range
[-1, 1], e.g.Implementation bottleneck: [0.75, -0.65]) into the required[0, 1]range using the affine mapv โ (v + 1) / 2.Mermaid 11's quadrantChart lexer rejects negative numerics, so the authoring convention "negative = threat / down-left quadrant" is mechanically incompatible with the renderer. Rescaling preserves the spatial layout: a value of
-1lands at0(origin edge),0lands at0.5(centre),+1lands at1(far edge).Trigger conditions (all must hold; otherwise body returned unchanged):
quadrantChart.< 0.[-1, 1](so we never silently rescale a mixed-percentage / mixed-fraction block).Numbers are emitted with at most two decimal places, trailing zeros trimmed, identical to the convention in normaliseQuadrantPercentageCoords.