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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MSFT + + + + + + + + + + + + + + + + + + + + AMZN + + + + + + + + + + + + + + + + + + + + IBM + + + + + + + + + + + + + + + + + + + + GOOG + + + + + + + + + + + + + + + + + + + + AAPL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2000 + + + + + + + 2002 + + + + + + + 2004 + + + + + + + 2006 + + + + + + + 2008 + + + + + + + 2010 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 100 + + + + + + + 200 + + + + + + + 300 + + + + + + + 400 + + + + + + + 500 + + + + + + + + + mean of price + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 39.81 + + + + + + + + + + + + + 24.84 + + + + + + + + + + + + + 25.92 + + + + + + + + + + + + + 19.31 + + + + + + + + + + + + + 22.69 + + + + + + + + + + + + + 24.11 + + + + + + + + + + + + + 26.14 + + + + + + + + + + + + + 29.07 + + + + + + + + + + + + + 31.13 + + + + + + + + + + + + + 16.63 + + + + + + + + + + + + + 28.05 + + + + + + + + + + + + + 64.56 + + + + + + + + + + + + + 17.31 + + + + + + + + + + + + + 14.19 + + + + + + + + + + + + + 21.85 + + + + + + + + + + + + + 50.4 + + + + + + + + + + + + + 43.22 + + + + + + + + + + + + + 44.82 + + + + + + + + + + + + + 37.67 + + + + + + + + + + + + + 77.7 + + + + + + + + + + + + + 58.82 + + + + + + + + + + + + + 125.41 + + + + + + + + + + + + + 100.52 + + + + + + + + + + + + + 100.76 + + + + + + + + + + + + + 97.54 + + + + + + + + + + + + + 71.22 + + + + + + + + + + + + + 91.06 + + + + + + + + + + + + + 86.39 + + + + + + + + + + + + + 75.89 + + + + + + + + + + + + + 93.79 + + + + + + + + + + + + + 102.75 + + + + + + + + + + + + + 89.46 + + + + + + + + + + + + + 121.85 + + + + + + + + + + + + + 102.37 + + + + + + + + + + + + + 195.62 + + + + + + + + + + + + + 432.66 + + + + + + + + + + + + + 501.5 + + + + + + + + + + + + + 564.3 + + + + + + + + + + + + + 338.53 + + + + + + + + + + + + + 529.94 + + + + + + + + + + + + + 25.94 + + + + + + + + + + + + + 10.81 + + + + + + + + + + + + + 12.36 + + + + + + + + + + + + + 7.18 + + + + + + + + + + + + + 11.28 + + + + + + + + + + + + + 38.45 + + + + + + + + + + + + + 75.51 + + + + + + + + + + + + + 85.73 + + + + + + + + + + + + + 135.36 + + + + + + + + + + + + + 90.13 + + + + + + + + + + + + + 192.06 + + + + + + + + + + + + \ 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` 会自动对标签做溢出检测和矫正,即当标签超出视图区域时,会对标签自动做反方向的位移。 + +## 开始使用 + +contrastReverse + +```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 ## 开始使用 -contrastReverse +contrastReverse ```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];