From 2821dbe9edf445f67c52baa1861591529642a985 Mon Sep 17 00:00:00 2001 From: wanghaojie08 Date: Thu, 22 Feb 2024 18:46:35 +0800 Subject: [PATCH 1/2] feat(axis): enale boundaryGap for category axis --- src/coord/Axis.ts | 10 ++-- test/line-space-between.html | 93 ++++++++++++++++++++++++++++++++++++ 2 files changed, 98 insertions(+), 5 deletions(-) create mode 100644 test/line-space-between.html diff --git a/src/coord/Axis.ts b/src/coord/Axis.ts index 5a33a33973..9aa26ac9a2 100644 --- a/src/coord/Axis.ts +++ b/src/coord/Axis.ts @@ -17,7 +17,7 @@ * under the License. */ -import {each, map} from 'zrender/src/core/util'; +import {each, isArray, map} from 'zrender/src/core/util'; import {linearMap, getPixelPrecision, round} from '../util/number'; import { createAxisTicks, @@ -126,7 +126,7 @@ class Axis { if (this.onBand && scale.type === 'ordinal') { extent = extent.slice() as [number, number]; - fixExtentWithBands(extent, (scale as OrdinalScale).count()); + fixExtentWithBands(extent, (scale as OrdinalScale).count(), isArray(this.onBand) ? this.onBand : []); } return linearMap(data, NORMALIZED_EXTENT, extent, clamp); @@ -271,12 +271,12 @@ class Axis { } -function fixExtentWithBands(extent: [number, number], nTick: number): void { +function fixExtentWithBands(extent: [number, number], nTick: number, onBand = [] as number[]): void { const size = extent[1] - extent[0]; const len = nTick; const margin = size / len / 2; - extent[0] += margin; - extent[1] -= margin; + extent[0] += onBand[0] || margin; + extent[1] -= onBand[1] || margin; } // If axis has labels [1, 2, 3, 4]. Bands on the axis are diff --git a/test/line-space-between.html b/test/line-space-between.html new file mode 100644 index 0000000000..ac7a05131b --- /dev/null +++ b/test/line-space-between.html @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + +
+
+ + + + From f46ec56cee73610967881699ccf6b88a5e4017bb Mon Sep 17 00:00:00 2001 From: wanghaojie08 Date: Thu, 22 Feb 2024 18:46:35 +0800 Subject: [PATCH 2/2] feat(axis): enable boundaryGap for category axis --- src/coord/Axis.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/coord/Axis.ts b/src/coord/Axis.ts index 9aa26ac9a2..6f354d5966 100644 --- a/src/coord/Axis.ts +++ b/src/coord/Axis.ts @@ -271,7 +271,7 @@ class Axis { } -function fixExtentWithBands(extent: [number, number], nTick: number, onBand = [] as number[]): void { +function fixExtentWithBands(extent: [number, number], nTick: number, onBand: number[] = []): void { const size = extent[1] - extent[0]; const len = nTick; const margin = size / len / 2;