From e43923f8a5aa297cbf0f2d2d1af01d3af46dd307 Mon Sep 17 00:00:00 2001 From: hustcc Date: Mon, 9 Nov 2020 15:25:07 +0800 Subject: [PATCH] fix(#1882): add limitInPoit as default options --- __tests__/bugs/issue-1882-spec.ts | 37 +++++++++++++++++++++++++++++++ src/core/plot.ts | 2 ++ 2 files changed, 39 insertions(+) create mode 100644 __tests__/bugs/issue-1882-spec.ts diff --git a/__tests__/bugs/issue-1882-spec.ts b/__tests__/bugs/issue-1882-spec.ts new file mode 100644 index 0000000000..bd020bfe34 --- /dev/null +++ b/__tests__/bugs/issue-1882-spec.ts @@ -0,0 +1,37 @@ +import { Area } from '../../src'; +import { createDiv } from '../utils/dom'; + +describe('#1882', () => { + const data = [ + { year: '1991', value: 3 }, + { year: '1992', value: 4 }, + { year: '1993', value: 3.5 }, + { year: '1994', value: 5 }, + { year: '1995', value: 4.9 }, + { year: '1996', value: 6 }, + { year: '1997', value: 7 }, + { year: '1998', value: 9 }, + { year: '1999', value: 13 }, + ]; + it('limit in Plot', () => { + const area = new Area(createDiv('limitInPlot'), { + data, + height: 500, + width: 600, + xField: 'year', + yField: 'value', + yAxis: { + min: 10, + }, + }); + + area.render(); + + expect(area.chart.limitInPlot).toBe(true); + expect(area.chart.middleGroup.get('clipShape')).toBeDefined(); + // 大于一个 xAxis 的高度 + expect(area.chart.middleGroup.get('clipShape').getBBox().minY > 5).toBe(true); + + area.destroy(); + }); +}); diff --git a/src/core/plot.ts b/src/core/plot.ts index 37e144081f..7e157d6fa7 100644 --- a/src/core/plot.ts +++ b/src/core/plot.ts @@ -73,6 +73,8 @@ export abstract class Plot extends EE { localRefresh: false, // 默认关闭,目前 G 还有一些位置问题,难以排查! syncViewPadding, supportCSSTransform, + /** 图形不超出画布 */ + limitInPlot: true, }); }