From 100f7ca30bce28aa549d4bd348ef1bf999ac5949 Mon Sep 17 00:00:00 2001
From: Runtus <893119806@qq.com>
Date: Fri, 26 Apr 2024 11:44:28 +0800
Subject: [PATCH 01/10] feat: add label
---
.../static/stocksLineLabelExceedAdjust.svg | 3622 +++++++++++++++++
__tests__/plots/static/index.ts | 1 +
.../static/stocks-line-label-exceed-adjust.ts | 26 +
__tests__/unit/lib/core.spec.ts | 2 +
__tests__/unit/lib/std.spec.ts | 2 +
site/docs/spec/label/exceedAdjust.en.md | 6 +
site/docs/spec/label/exceedAdjust.zh.md | 31 +
src/label-transform/exceedAdjust.ts | 60 +
src/label-transform/index.ts | 2 +
src/lib/core.ts | 2 +
src/spec/labelTransform.ts | 4 +
11 files changed, 3758 insertions(+)
create mode 100644 __tests__/integration/snapshots/static/stocksLineLabelExceedAdjust.svg
create mode 100644 __tests__/plots/static/stocks-line-label-exceed-adjust.ts
create mode 100644 site/docs/spec/label/exceedAdjust.en.md
create mode 100644 site/docs/spec/label/exceedAdjust.zh.md
create mode 100644 src/label-transform/exceedAdjust.ts
diff --git a/__tests__/integration/snapshots/static/stocksLineLabelExceedAdjust.svg b/__tests__/integration/snapshots/static/stocksLineLabelExceedAdjust.svg
new file mode 100644
index 0000000000..138f7eb515
--- /dev/null
+++ b/__tests__/integration/snapshots/static/stocksLineLabelExceedAdjust.svg
@@ -0,0 +1,3622 @@
+
\ No newline at end of file
diff --git a/__tests__/plots/static/index.ts b/__tests__/plots/static/index.ts
index 542b150131..5e910a719e 100644
--- a/__tests__/plots/static/index.ts
+++ b/__tests__/plots/static/index.ts
@@ -253,6 +253,7 @@ export { alphabetIntervalViewStyle } from './alphabet-interval-view-style';
export { vennBasic } from './venn-basic';
export { vennHollow } from './venn-hollow';
export { stocksLineVarSize } from './stocks-line-var-size';
+export { stocksLineLabelExceedAdjust } from './stocks-line-label-exceed-adjust';
export { barleyLineTrail } from './barley-line-trail';
export { mockAxisX } from './mock-axisX';
export { mockAxisY } from './mock-axisY';
diff --git a/__tests__/plots/static/stocks-line-label-exceed-adjust.ts b/__tests__/plots/static/stocks-line-label-exceed-adjust.ts
new file mode 100644
index 0000000000..e95328340b
--- /dev/null
+++ b/__tests__/plots/static/stocks-line-label-exceed-adjust.ts
@@ -0,0 +1,26 @@
+import { G2Spec } from '../../../src';
+
+export function stocksLineLabelExceedAdjust(): G2Spec {
+ return {
+ type: 'line',
+ data: {
+ type: 'fetch',
+ value: 'data/stocks.csv',
+ },
+ transform: [{ type: 'groupX', y: 'mean' }],
+ encode: {
+ x: (d) => new Date(d.date).getFullYear(),
+ y: 'price',
+ color: 'symbol',
+ },
+ labels: [
+ {
+ text: 'price',
+ transform: [{ type: 'exceedAdjust' }],
+ style: {
+ fontSize: 10,
+ },
+ },
+ ],
+ };
+}
diff --git a/__tests__/unit/lib/core.spec.ts b/__tests__/unit/lib/core.spec.ts
index 712af576bc..225cba8c6c 100644
--- a/__tests__/unit/lib/core.spec.ts
+++ b/__tests__/unit/lib/core.spec.ts
@@ -162,6 +162,7 @@ import {
ContrastReverse,
OverlapHide,
OverlapDodgeY,
+ ExceedAdjust,
} from '../../../src/label-transform';
describe('corelib', () => {
@@ -315,6 +316,7 @@ describe('corelib', () => {
'composition.repeatMatrix': RepeatMatrix,
'composition.facetCircle': FacetCircle,
'composition.timingKeyframe': TimingKeyframe,
+ 'labelTransform.exceedAdjust': ExceedAdjust,
'labelTransform.overlapHide': OverlapHide,
'labelTransform.overlapDodgeY': OverlapDodgeY,
'labelTransform.overflowHide': OverflowHide,
diff --git a/__tests__/unit/lib/std.spec.ts b/__tests__/unit/lib/std.spec.ts
index b4b92a6529..9ded77f4f7 100644
--- a/__tests__/unit/lib/std.spec.ts
+++ b/__tests__/unit/lib/std.spec.ts
@@ -176,6 +176,7 @@ import {
ContrastReverse,
OverlapHide,
OverlapDodgeY,
+ ExceedAdjust,
} from '../../../src/label-transform';
describe('stdlib', () => {
@@ -343,6 +344,7 @@ describe('stdlib', () => {
'composition.timingKeyframe': TimingKeyframe,
'labelTransform.overlapHide': OverlapHide,
'labelTransform.overlapDodgeY': OverlapDodgeY,
+ 'labelTransform.exceedAdjust': ExceedAdjust,
'labelTransform.overflowHide': OverflowHide,
'labelTransform.contrastReverse': ContrastReverse,
'composition.geoView': GeoView,
diff --git a/site/docs/spec/label/exceedAdjust.en.md b/site/docs/spec/label/exceedAdjust.en.md
new file mode 100644
index 0000000000..57cc1270fd
--- /dev/null
+++ b/site/docs/spec/label/exceedAdjust.en.md
@@ -0,0 +1,6 @@
+---
+title: overflowHide
+order: 1
+---
+
+
diff --git a/site/docs/spec/label/exceedAdjust.zh.md b/site/docs/spec/label/exceedAdjust.zh.md
new file mode 100644
index 0000000000..c7325d0393
--- /dev/null
+++ b/site/docs/spec/label/exceedAdjust.zh.md
@@ -0,0 +1,31 @@
+---
+title: exceedAdjust
+order: 1
+---
+
+`exceedAdjust` 会自动对标签做溢出检测和矫正,即当标签超出视图区域时,会对标签自动做反方向的位移。
+
+## 开始使用
+
+
+
+```ts
+chart
+ .line()
+ .encode('x', 'letter')
+ .encode('y', 'frequency')
+ .encode('color', 'type')
+ /* ... */
+ .label({
+ text: 'frequency',
+ transform: [
+ {
+ type: 'exceedAdjust',
+ },
+ ],
+ });
+```
+
+## 选项
+
+* 暂无
diff --git a/src/label-transform/exceedAdjust.ts b/src/label-transform/exceedAdjust.ts
new file mode 100644
index 0000000000..a9e98c63b6
--- /dev/null
+++ b/src/label-transform/exceedAdjust.ts
@@ -0,0 +1,60 @@
+import { DisplayObject } from '@antv/g';
+import { LabelTransformComponent as LLC } from '../runtime';
+import { ExceedAdjustLabel } from '../spec';
+import { Bounds } from '../utils/bounds';
+import { show } from '../utils/style';
+
+export type ExceedAdjustOptions = Omit;
+
+/**
+ * Hide the label when overlap.
+ */
+export const ExceedAdjust: LLC = () => {
+ const adjustCoorValue = (target: Bounds, edge: Bounds) => {
+ const [[minEdgeX, minEdgeY], [maxEdgeX, maxEdgeY]] = edge;
+ const [[minX, minY], [maxX, maxY]] = target;
+
+ let changeX = 0,
+ changeY = 0;
+
+ // x-axis
+ if (minX < minEdgeX) {
+ changeX = minEdgeX - minX;
+ } else if (maxX > maxEdgeX) {
+ changeX = maxEdgeX - maxX;
+ }
+
+ // y-axis
+ if (minY < minEdgeY) {
+ changeY = minEdgeY - minY;
+ } else if (maxY > maxEdgeY) {
+ changeY = maxEdgeY - maxY;
+ }
+
+ return [changeX, changeY];
+ };
+ return (labels: DisplayObject[], coordinate) => {
+ const { width, height } = coordinate.getOptions();
+
+ labels.forEach((l) => {
+ show(l);
+ const { max, min } = l.getLocalBounds();
+ const [xMax, yMax] = max,
+ [xMin, yMin] = min;
+ const changeValue = adjustCoorValue(
+ [
+ [xMin, yMin],
+ [xMax, yMax],
+ ],
+ [
+ [0, 0],
+ [width, height],
+ ],
+ );
+ l.style.x += changeValue[0];
+ l.style.y += changeValue[1];
+ });
+
+ return labels;
+ };
+};
diff --git a/src/label-transform/index.ts b/src/label-transform/index.ts
index 42c6d3bf57..a3c9ce1a47 100644
--- a/src/label-transform/index.ts
+++ b/src/label-transform/index.ts
@@ -2,8 +2,10 @@ export { OverlapHide } from './overlapHide';
export { OverlapDodgeY } from './overlapDodgeY';
export { ContrastReverse } from './contrastReverse';
export { OverflowHide } from './overflowHide';
+export { ExceedAdjust } from './exceedAdjust';
export type { OverlapHideOptions } from './overlapHide';
export type { OverlapDodgeYOptions } from './overlapDodgeY';
export type { ContrastReverseOptions } from './contrastReverse';
export type { OverflowHideOptions } from './overflowHide';
+export type { ExceedAdjustOptions } from './exceedAdjust';
diff --git a/src/lib/core.ts b/src/lib/core.ts
index 7a9fc8f9a4..c1f01003c0 100644
--- a/src/lib/core.ts
+++ b/src/lib/core.ts
@@ -161,6 +161,7 @@ import {
OverflowHide,
ContrastReverse,
OverlapHide,
+ ExceedAdjust,
} from '../label-transform';
export function corelib() {
@@ -317,5 +318,6 @@ export function corelib() {
'labelTransform.overlapDodgeY': OverlapDodgeY,
'labelTransform.overflowHide': OverflowHide,
'labelTransform.contrastReverse': ContrastReverse,
+ 'labelTransform.exceedAdjust': ExceedAdjust,
} as const;
}
diff --git a/src/spec/labelTransform.ts b/src/spec/labelTransform.ts
index c97a022d1b..c0926663a4 100644
--- a/src/spec/labelTransform.ts
+++ b/src/spec/labelTransform.ts
@@ -37,3 +37,7 @@ export type ContrastReverseLabelTransform = {
export type OverflowHideLabelTransform = {
type: 'overflowHide';
};
+
+export type ExceedAdjustLabel = {
+ type: 'exceedAdjust';
+};
From 2a31d0182184935034e833b76a955146915ceb18 Mon Sep 17 00:00:00 2001
From: Runtus <893119806@qq.com>
Date: Fri, 26 Apr 2024 11:50:00 +0800
Subject: [PATCH 02/10] fix: access test
---
.../static/alphabetIntervalSpaceLayer.svg | 200 +++++++++---------
1 file changed, 100 insertions(+), 100 deletions(-)
diff --git a/__tests__/integration/snapshots/static/alphabetIntervalSpaceLayer.svg b/__tests__/integration/snapshots/static/alphabetIntervalSpaceLayer.svg
index fb973a7289..e0d7f20d0c 100644
--- a/__tests__/integration/snapshots/static/alphabetIntervalSpaceLayer.svg
+++ b/__tests__/integration/snapshots/static/alphabetIntervalSpaceLayer.svg
@@ -151,7 +151,7 @@
@@ -4050,7 +4050,7 @@
@@ -4155,7 +4155,7 @@
@@ -4230,7 +4230,7 @@
@@ -4260,7 +4260,7 @@
@@ -4478,11 +4478,11 @@
@@ -4500,55 +4500,55 @@
@@ -4577,44 +4577,44 @@
@@ -4632,11 +4632,11 @@
@@ -4654,99 +4654,99 @@
From d4c9a150d29e9bc246caaae84b5d514edae5e788 Mon Sep 17 00:00:00 2001
From: Runtus
Date: Sat, 27 Apr 2024 09:31:01 +0800
Subject: [PATCH 03/10] feat: update site
---
site/docs/spec/label/exceedAdjust.zh.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/site/docs/spec/label/exceedAdjust.zh.md b/site/docs/spec/label/exceedAdjust.zh.md
index c7325d0393..bcdd024154 100644
--- a/site/docs/spec/label/exceedAdjust.zh.md
+++ b/site/docs/spec/label/exceedAdjust.zh.md
@@ -7,7 +7,7 @@ order: 1
## 开始使用
-
+
```ts
chart
From 597177e8175f713a36194c4ad6e0a6853cefe511 Mon Sep 17 00:00:00 2001
From: Runtus
Date: Tue, 7 May 2024 15:41:51 +0800
Subject: [PATCH 04/10] fix: fix func name and docs
---
site/docs/spec/label/exceedAdjust.en.md | 2 +-
src/label-transform/exceedAdjust.ts | 49 +++++++++++++------------
2 files changed, 26 insertions(+), 25 deletions(-)
diff --git a/site/docs/spec/label/exceedAdjust.en.md b/site/docs/spec/label/exceedAdjust.en.md
index 57cc1270fd..f0c36c3458 100644
--- a/site/docs/spec/label/exceedAdjust.en.md
+++ b/site/docs/spec/label/exceedAdjust.en.md
@@ -1,5 +1,5 @@
---
-title: overflowHide
+title: exceedAdjust
order: 1
---
diff --git a/src/label-transform/exceedAdjust.ts b/src/label-transform/exceedAdjust.ts
index a9e98c63b6..61c5ba6b58 100644
--- a/src/label-transform/exceedAdjust.ts
+++ b/src/label-transform/exceedAdjust.ts
@@ -4,35 +4,36 @@ import { ExceedAdjustLabel } from '../spec';
import { Bounds } from '../utils/bounds';
import { show } from '../utils/style';
+const adjustPosition = (target: Bounds, edge: Bounds) => {
+ const [[minEdgeX, minEdgeY], [maxEdgeX, maxEdgeY]] = edge;
+ const [[minX, minY], [maxX, maxY]] = target;
+
+ let changeX = 0,
+ changeY = 0;
+
+ // x-axis
+ if (minX < minEdgeX) {
+ changeX = minEdgeX - minX;
+ } else if (maxX > maxEdgeX) {
+ changeX = maxEdgeX - maxX;
+ }
+
+ // y-axis
+ if (minY < minEdgeY) {
+ changeY = minEdgeY - minY;
+ } else if (maxY > maxEdgeY) {
+ changeY = maxEdgeY - maxY;
+ }
+
+ return [changeX, changeY];
+};
+
export type ExceedAdjustOptions = Omit;
/**
* Hide the label when overlap.
*/
export const ExceedAdjust: LLC = () => {
- const adjustCoorValue = (target: Bounds, edge: Bounds) => {
- const [[minEdgeX, minEdgeY], [maxEdgeX, maxEdgeY]] = edge;
- const [[minX, minY], [maxX, maxY]] = target;
-
- let changeX = 0,
- changeY = 0;
-
- // x-axis
- if (minX < minEdgeX) {
- changeX = minEdgeX - minX;
- } else if (maxX > maxEdgeX) {
- changeX = maxEdgeX - maxX;
- }
-
- // y-axis
- if (minY < minEdgeY) {
- changeY = minEdgeY - minY;
- } else if (maxY > maxEdgeY) {
- changeY = maxEdgeY - maxY;
- }
-
- return [changeX, changeY];
- };
return (labels: DisplayObject[], coordinate) => {
const { width, height } = coordinate.getOptions();
@@ -41,7 +42,7 @@ export const ExceedAdjust: LLC = () => {
const { max, min } = l.getLocalBounds();
const [xMax, yMax] = max,
[xMin, yMin] = min;
- const changeValue = adjustCoorValue(
+ const changeValue = adjustPosition(
[
[xMin, yMin],
[xMax, yMax],
From 4123d54720046ae2aa8d02952ec363e0a680bfbc Mon Sep 17 00:00:00 2001
From: Runtus
Date: Tue, 7 May 2024 18:47:04 +0800
Subject: [PATCH 05/10] fix: fix ci error
---
.../static/alphabetIntervalSpaceLayer.svg | 200 +++++++++---------
1 file changed, 100 insertions(+), 100 deletions(-)
diff --git a/__tests__/integration/snapshots/static/alphabetIntervalSpaceLayer.svg b/__tests__/integration/snapshots/static/alphabetIntervalSpaceLayer.svg
index e0d7f20d0c..fb973a7289 100644
--- a/__tests__/integration/snapshots/static/alphabetIntervalSpaceLayer.svg
+++ b/__tests__/integration/snapshots/static/alphabetIntervalSpaceLayer.svg
@@ -151,7 +151,7 @@
@@ -4050,7 +4050,7 @@
@@ -4155,7 +4155,7 @@
@@ -4230,7 +4230,7 @@
@@ -4260,7 +4260,7 @@
@@ -4478,11 +4478,11 @@
@@ -4500,55 +4500,55 @@
@@ -4577,44 +4577,44 @@
@@ -4632,11 +4632,11 @@
@@ -4654,99 +4654,99 @@
From 42a32fe28553149f7e7613c120e389c4c8672724 Mon Sep 17 00:00:00 2001
From: Runtus
Date: Tue, 7 May 2024 19:19:07 +0800
Subject: [PATCH 06/10] fix: change the edge bound
---
.../plots/static/stocks-line-label-exceed-adjust.ts | 1 +
src/label-transform/exceedAdjust.ts | 9 +++++----
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/__tests__/plots/static/stocks-line-label-exceed-adjust.ts b/__tests__/plots/static/stocks-line-label-exceed-adjust.ts
index e95328340b..5e9d6f000d 100644
--- a/__tests__/plots/static/stocks-line-label-exceed-adjust.ts
+++ b/__tests__/plots/static/stocks-line-label-exceed-adjust.ts
@@ -3,6 +3,7 @@ import { G2Spec } from '../../../src';
export function stocksLineLabelExceedAdjust(): G2Spec {
return {
type: 'line',
+ insetLeft: 100,
data: {
type: 'fetch',
value: 'data/stocks.csv',
diff --git a/src/label-transform/exceedAdjust.ts b/src/label-transform/exceedAdjust.ts
index 61c5ba6b58..a685e8e7f6 100644
--- a/src/label-transform/exceedAdjust.ts
+++ b/src/label-transform/exceedAdjust.ts
@@ -31,11 +31,12 @@ const adjustPosition = (target: Bounds, edge: Bounds) => {
export type ExceedAdjustOptions = Omit;
/**
- * Hide the label when overlap.
+ * adjust the label when exceed the plot
*/
export const ExceedAdjust: LLC = () => {
return (labels: DisplayObject[], coordinate) => {
- const { width, height } = coordinate.getOptions();
+ const { width, height, x = 0, y = 0 } = coordinate.getOptions();
+ console.log(coordinate.getOptions());
labels.forEach((l) => {
show(l);
@@ -48,8 +49,8 @@ export const ExceedAdjust: LLC = () => {
[xMax, yMax],
],
[
- [0, 0],
- [width, height],
+ [x, y],
+ [x + width, y + height],
],
);
l.style.x += changeValue[0];
From 2b30ba99aa0e8e18f9d6097da4984d666c248aeb Mon Sep 17 00:00:00 2001
From: Runtus
Date: Tue, 7 May 2024 19:28:42 +0800
Subject: [PATCH 07/10] fix: fix ci error
---
__tests__/plots/static/stocks-line-label-exceed-adjust.ts | 1 -
1 file changed, 1 deletion(-)
diff --git a/__tests__/plots/static/stocks-line-label-exceed-adjust.ts b/__tests__/plots/static/stocks-line-label-exceed-adjust.ts
index 5e9d6f000d..e95328340b 100644
--- a/__tests__/plots/static/stocks-line-label-exceed-adjust.ts
+++ b/__tests__/plots/static/stocks-line-label-exceed-adjust.ts
@@ -3,7 +3,6 @@ import { G2Spec } from '../../../src';
export function stocksLineLabelExceedAdjust(): G2Spec {
return {
type: 'line',
- insetLeft: 100,
data: {
type: 'fetch',
value: 'data/stocks.csv',
From 2e0d6e612dce4560eee95f6ee05fd981f6a3bb9e Mon Sep 17 00:00:00 2001
From: Runtus
Date: Tue, 7 May 2024 20:34:38 +0800
Subject: [PATCH 08/10] fix: change edge to canvas edge
---
.../static/stocksLineLabelExceedAdjust.svg | 70 +++++++++----------
src/label-transform/exceedAdjust.ts | 8 ++-
2 files changed, 40 insertions(+), 38 deletions(-)
diff --git a/__tests__/integration/snapshots/static/stocksLineLabelExceedAdjust.svg b/__tests__/integration/snapshots/static/stocksLineLabelExceedAdjust.svg
index 138f7eb515..7bf4418920 100644
--- a/__tests__/integration/snapshots/static/stocksLineLabelExceedAdjust.svg
+++ b/__tests__/integration/snapshots/static/stocksLineLabelExceedAdjust.svg
@@ -1462,8 +1462,8 @@
id="g-svg-187"
fill="none"
x="108.14399960924698"
- y="372.49999681247454"
- transform="matrix(1,0,0,1,108.143997,372.500000)"
+ y="373.16250291599016"
+ transform="matrix(1,0,0,1,108.143997,373.162506)"
class="label"
>
@@ -1506,8 +1506,8 @@
id="g-svg-191"
fill="none"
x="162.21599941387046"
- y="372.49999796157533"
- transform="matrix(1,0,0,1,162.216003,372.500000)"
+ y="373.79455362563783"
+ transform="matrix(1,0,0,1,162.216003,373.794556)"
class="label"
>
@@ -1550,8 +1550,8 @@
id="g-svg-195"
fill="none"
x="216.28799921849395"
- y="372.5000034148186"
- transform="matrix(1,0,0,1,216.287994,372.500000)"
+ y="372.56232030934984"
+ transform="matrix(1,0,0,1,216.287994,372.562317)"
class="label"
>
@@ -1813,9 +1813,9 @@
@@ -1902,8 +1902,8 @@
id="g-svg-227"
fill="none"
x="54.07199980462349"
- y="372.4999949260972"
- transform="matrix(1,0,0,1,54.071999,372.500000)"
+ y="380.3062693401597"
+ transform="matrix(1,0,0,1,54.071999,380.306274)"
class="label"
>
@@ -1946,8 +1946,8 @@
id="g-svg-231"
fill="none"
x="108.14399960924698"
- y="372.50000104651014"
- transform="matrix(1,0,0,1,108.143997,372.500000)"
+ y="376.776581857057"
+ transform="matrix(1,0,0,1,108.143997,376.776581)"
class="label"
>
@@ -2297,17 +2297,17 @@
@@ -2958,8 +2958,8 @@
id="g-svg-323"
fill="none"
x="378.5039986323644"
- y="9.5"
- transform="matrix(1,0,0,1,378.503998,9.500000)"
+ y="0"
+ transform="matrix(1,0,0,1,378.503998,0)"
class="label"
>
@@ -3089,9 +3089,9 @@
@@ -3134,8 +3134,8 @@
id="g-svg-339"
fill="none"
x="0"
- y="372.4999899606784"
- transform="matrix(1,0,0,1,0,372.500000)"
+ y="373.2179770212253"
+ transform="matrix(1,0,0,1,0,373.217987)"
class="label"
>
@@ -3178,8 +3178,8 @@
id="g-svg-343"
fill="none"
x="54.07199980462349"
- y="372.4999997313594"
- transform="matrix(1,0,0,1,54.071999,372.500000)"
+ y="381.4133908446407"
+ transform="matrix(1,0,0,1,54.071999,381.413391)"
class="label"
>
@@ -3222,8 +3222,8 @@
id="g-svg-347"
fill="none"
x="108.14399960924698"
- y="372.5000098662469"
- transform="matrix(1,0,0,1,108.143997,372.500000)"
+ y="381.9569190459344"
+ transform="matrix(1,0,0,1,108.143997,381.956909)"
class="label"
>
@@ -3266,8 +3266,8 @@
id="g-svg-351"
fill="none"
x="162.21599941387046"
- y="372.5"
- transform="matrix(1,0,0,1,162.216003,372.500000)"
+ y="382"
+ transform="matrix(1,0,0,1,162.216003,382)"
class="label"
>
@@ -3310,8 +3310,8 @@
id="g-svg-355"
fill="none"
x="216.28799921849395"
- y="372.49999223120517"
- transform="matrix(1,0,0,1,216.287994,372.500000)"
+ y="375.36022172339267"
+ transform="matrix(1,0,0,1,216.287994,375.360229)"
class="label"
>
@@ -3573,9 +3573,9 @@
diff --git a/src/label-transform/exceedAdjust.ts b/src/label-transform/exceedAdjust.ts
index a685e8e7f6..4501f4bc76 100644
--- a/src/label-transform/exceedAdjust.ts
+++ b/src/label-transform/exceedAdjust.ts
@@ -34,13 +34,15 @@ export type ExceedAdjustOptions = Omit;
* adjust the label when exceed the plot
*/
export const ExceedAdjust: LLC = () => {
- return (labels: DisplayObject[], coordinate) => {
- const { width, height, x = 0, y = 0 } = coordinate.getOptions();
+ return (labels: DisplayObject[], { coordinate, canvas }) => {
console.log(coordinate.getOptions());
+ const { width, height } = canvas.getConfig();
+ const x = 0,
+ y = 0;
labels.forEach((l) => {
show(l);
- const { max, min } = l.getLocalBounds();
+ const { max, min } = l.getRenderBounds();
const [xMax, yMax] = max,
[xMin, yMin] = min;
const changeValue = adjustPosition(
From d1d11b3cc75b75fe0ac75803ea721f5eb5bf9c9f Mon Sep 17 00:00:00 2001
From: Runtus
Date: Tue, 7 May 2024 20:44:03 +0800
Subject: [PATCH 09/10] fix: remove console
---
src/label-transform/exceedAdjust.ts | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/label-transform/exceedAdjust.ts b/src/label-transform/exceedAdjust.ts
index 4501f4bc76..319870e5c4 100644
--- a/src/label-transform/exceedAdjust.ts
+++ b/src/label-transform/exceedAdjust.ts
@@ -35,7 +35,6 @@ export type ExceedAdjustOptions = Omit;
*/
export const ExceedAdjust: LLC = () => {
return (labels: DisplayObject[], { coordinate, canvas }) => {
- console.log(coordinate.getOptions());
const { width, height } = canvas.getConfig();
const x = 0,
y = 0;
From db44dec66c3fee01b312d4a5e5ac10a08ab7325f Mon Sep 17 00:00:00 2001
From: Runtus <893119806@qq.com>
Date: Tue, 7 May 2024 22:13:15 +0800
Subject: [PATCH 10/10] fix: remove unused variable
---
src/label-transform/exceedAdjust.ts | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/src/label-transform/exceedAdjust.ts b/src/label-transform/exceedAdjust.ts
index 319870e5c4..a169a7daac 100644
--- a/src/label-transform/exceedAdjust.ts
+++ b/src/label-transform/exceedAdjust.ts
@@ -34,10 +34,8 @@ export type ExceedAdjustOptions = Omit;
* adjust the label when exceed the plot
*/
export const ExceedAdjust: LLC = () => {
- return (labels: DisplayObject[], { coordinate, canvas }) => {
+ return (labels: DisplayObject[], { canvas }) => {
const { width, height } = canvas.getConfig();
- const x = 0,
- y = 0;
labels.forEach((l) => {
show(l);
@@ -50,8 +48,8 @@ export const ExceedAdjust: LLC = () => {
[xMax, yMax],
],
[
- [x, y],
- [x + width, y + height],
+ [0, 0],
+ [width, height],
],
);
l.style.x += changeValue[0];