From 552500df9596358d7c6a7617274255b3376351f2 Mon Sep 17 00:00:00 2001 From: Aarebecca Date: Fri, 10 Sep 2021 09:49:07 +0800 Subject: [PATCH] =?UTF-8?q?refactor(funnel):=20annotation=20=E4=BD=8D?= =?UTF-8?q?=E7=BD=AE=E6=B7=BB=E5=8A=A0center=EF=BC=8C=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E5=9C=A8=E6=BC=8F=E6=96=97=E5=9B=BE=E4=B8=AD=E6=AD=A3=E5=B8=B8?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=20(#3611)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * refactor(funnel): annotation 位置添加center,支持在漏斗图中正常显示 * test(annotation): 补充了单元测试 Co-authored-by: yangtao.yangtao --- examples/funnel/funnel/demo/basic.ts | 2 +- src/util/annotation.ts | 4 +++- tests/unit/util/annotation-spec.ts | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/examples/funnel/funnel/demo/basic.ts b/examples/funnel/funnel/demo/basic.ts index d91be7e9e5..4f26b4a90b 100644 --- a/examples/funnel/funnel/demo/basic.ts +++ b/examples/funnel/funnel/demo/basic.ts @@ -90,7 +90,7 @@ chart.on('beforepaint', () => { top: true, position: { action: obj.action, - percent: 'median', + percent: 'center', }, content: +obj.percent * 100 + '%', // 显示的文本内容 style: { diff --git a/src/util/annotation.ts b/src/util/annotation.ts index d108e41a47..163b1825cd 100644 --- a/src/util/annotation.ts +++ b/src/util/annotation.ts @@ -15,6 +15,8 @@ export function getNormalizedValue(val: number | string, scale: Scale) { switch (val) { case 'start': return 0; + case 'center': + return 0.5; case 'end': return 1; case 'median': { @@ -37,4 +39,4 @@ export function getNormalizedValue(val: number | string, scale: Scale) { } return scale.scale(scaled); -} \ No newline at end of file +} diff --git a/tests/unit/util/annotation-spec.ts b/tests/unit/util/annotation-spec.ts index a5cff7ad20..6f7298781c 100644 --- a/tests/unit/util/annotation-spec.ts +++ b/tests/unit/util/annotation-spec.ts @@ -28,6 +28,7 @@ describe('util annotation', () => { }); expect(getNormalizedValue('start', scale)).toEqual(0); + expect(getNormalizedValue('center', scale)).toEqual(0.5); expect(getNormalizedValue('end', scale)).toEqual(1); expect(near(getNormalizedValue('mean', scale), 0.055999999999999994)).toBe(true); expect(getNormalizedValue('median', scale)).toEqual(0.065);