From 3e35dc22ec50489fc46eb875a9cbfdfd2c4e28f2 Mon Sep 17 00:00:00 2001 From: "Weng, Chia-Ling" <75072960+ChiaLingWeng@users.noreply.github.com> Date: Thu, 21 Dec 2023 21:57:24 +0800 Subject: [PATCH] fix: duplicate sorting in stack (#9213) try to close #8033, avoid duplicate field by ``` if (!s.field.includes(field)) { s.field.push(field); s.order.push(sortOrder); } ``` --------- Co-authored-by: GitHub Actions Bot --- examples/compiled/arc_radial.png | Bin 10690 -> 10687 bytes examples/compiled/arc_radial.vg.json | 5 +---- examples/compiled/layer_arc_label.png | Bin 7491 -> 7484 bytes examples/compiled/layer_arc_label.vg.json | 5 +---- src/compile/data/stack.ts | 6 ++++-- 5 files changed, 6 insertions(+), 10 deletions(-) diff --git a/examples/compiled/arc_radial.png b/examples/compiled/arc_radial.png index dcb6398753bc45ff8a1981c452ef2755ced4069e..f111f131cb637724ed393b0403e6e94e0ccd143e 100644 GIT binary patch delta 10679 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ΞH}unH+U@iOD7sMe2;QYibfq$)vGPEXRf97()r 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
    0z%lDQ&(S==OsF*H#yqsq4p!T9GhoB=-fXAR^9 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 M07*qoM6N<$f>*nKlK=n! delta 6460 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 QIW*Lxs;sG0@xmhbe=OQ-=Kufz diff --git a/examples/compiled/layer_arc_label.vg.json b/examples/compiled/layer_arc_label.vg.json index 558ba6bfe2..6cf4119997 100644 --- a/examples/compiled/layer_arc_label.vg.json +++ b/examples/compiled/layer_arc_label.vg.json @@ -44,10 +44,7 @@ "type": "stack", "groupby": [], "field": "value", - "sort": { - "field": ["category", "category"], - "order": ["ascending", "ascending"] - }, + "sort": {"field": ["category"], "order": ["ascending"]}, "as": ["value_start", "value_end"], "offset": "zero" }, diff --git a/src/compile/data/stack.ts b/src/compile/data/stack.ts index 184f85957e..553bba2279 100644 --- a/src/compile/data/stack.ts +++ b/src/compile/data/stack.ts @@ -146,8 +146,10 @@ export class StackNode extends DataFlowNode { // FIXME is the default here correct for binned fields? sort = stackby.reduce( (s, field) => { - s.field.push(field); - s.order.push(sortOrder); + if (!s.field.includes(field)) { + s.field.push(field); + s.order.push(sortOrder); + } return s; }, {field: [], order: []}