diff --git a/packages/vchart/src/component/axis/cartesian/axis.ts b/packages/vchart/src/component/axis/cartesian/axis.ts index f2e780d6c7..69be333821 100644 --- a/packages/vchart/src/component/axis/cartesian/axis.ts +++ b/packages/vchart/src/component/axis/cartesian/axis.ts @@ -644,13 +644,13 @@ export abstract class CartesianAxis) => { const region = this.getRegions()?.[0]; - return region ? region.getLayoutPositionExcludeIndent() : pos; + return region ? region.getLayoutStartPoint() : pos; }; onLayoutEnd(ctx: any): void { @@ -570,7 +570,7 @@ export abstract class PolarAxis extends BaseComponent i } protected _getBrushInteractiveAttr(region: IRegion) { - const regionLayoutPosition = region.getLayoutPositionExcludeIndent(); - const regionLayoutRect = region.getLayoutRectExcludeIndent(); + const regionLayoutPosition = region.getLayoutStartPoint(); + const regionLayoutRect = region.getLayoutRect(); const seriesRegionStartX = regionLayoutPosition.x; const seriesRegionEndX = seriesRegionStartX + regionLayoutRect.width; const seriesRegionStartY = regionLayoutPosition.y; @@ -322,11 +322,11 @@ export class Brush extends BaseComponent i } private _reconfigLinkedItem(operateMask: IPolygon, region: IRegion) { - const regionLayoutPos = region.getLayoutPositionExcludeIndent(); + const regionLayoutPos = region.getLayoutStartPoint(); const seriesId = region.getSeries().map(s => s.id); this._linkedSeries.forEach((s: ISeries) => { if (!seriesId.includes(s.id)) { - const sRegionLayoutPos = s.getRegion().getLayoutPositionExcludeIndent(); + const sRegionLayoutPos = s.getRegion().getLayoutStartPoint(); const regionOffsetX = sRegionLayoutPos.x - regionLayoutPos.x; const regionOffsetY = sRegionLayoutPos.y - regionLayoutPos.y; diff --git a/packages/vchart/src/component/crosshair/base.ts b/packages/vchart/src/component/crosshair/base.ts index 8367eed96d..060e5e61df 100644 --- a/packages/vchart/src/component/crosshair/base.ts +++ b/packages/vchart/src/component/crosshair/base.ts @@ -236,11 +236,11 @@ export abstract class BaseCrossHair { - const { x: regionStartX, y: regionStartY } = r.getLayoutPositionExcludeIndent(); + const { x: regionStartX, y: regionStartY } = r.getLayoutStartPoint(); x1 = Math.min(x1, regionStartX - sx); y1 = Math.min(y1, regionStartY - sy); - x2 = Math.max(x2, regionStartX + r.getLayoutRectExcludeIndent().width - sx); - y2 = Math.max(y2, regionStartY + r.getLayoutRectExcludeIndent().height - sy); + x2 = Math.max(x2, regionStartX + r.getLayoutRect().width - sx); + y2 = Math.max(y2, regionStartY + r.getLayoutRect().height - sy); }); map.set(idx, { x1, y1, x2, y2, axis: axis as unknown as T }); }); @@ -254,8 +254,8 @@ export abstract class BaseCrossHair implements IGeo } onLayoutEnd(ctx: IModelLayoutOption) { - this.setLayoutRect(this._regions[0].getLayoutRectExcludeIndent()); - this.setLayoutStartPosition(this._regions[0].getLayoutPositionExcludeIndent()); + this.setLayoutRect(this._regions[0].getLayoutRect()); + this.setLayoutStartPosition(this._regions[0].getLayoutStartPoint()); const { width, height } = this.getLayoutRect(); const { translate, scale, center } = this.evaluateProjection([0, 0], [width, height]); translate && this._projection.translate(translate); diff --git a/packages/vchart/src/component/indicator/indicator.ts b/packages/vchart/src/component/indicator/indicator.ts index 9df6baa287..954e1eb51d 100644 --- a/packages/vchart/src/component/indicator/indicator.ts +++ b/packages/vchart/src/component/indicator/indicator.ts @@ -174,8 +174,8 @@ export class Indicator extends BaseComponent implem private _getIndicatorAttrs() { const region = this._regions[0]; - const { width, height } = region.getLayoutRectExcludeIndent(); - const { x, y } = region.getLayoutPositionExcludeIndent(); + const { width, height } = region.getLayoutRect(); + const { x, y } = region.getLayoutStartPoint(); const contentComponentSpec: IIndicatorItemSpec[] = []; array(this._spec.content).forEach((eachItem: IIndicatorItemSpec) => { @@ -261,7 +261,7 @@ export class Indicator extends BaseComponent implem private _computeLayoutRadius() { const region = this._regions[0]; - const { width, height } = region.getLayoutRectExcludeIndent(); + const { width, height } = region.getLayoutRect(); return Math.min(width / 2, height / 2); } diff --git a/packages/vchart/src/component/label/label.ts b/packages/vchart/src/component/label/label.ts index 4136bced45..a561d32011 100644 --- a/packages/vchart/src/component/label/label.ts +++ b/packages/vchart/src/component/label/label.ts @@ -304,8 +304,8 @@ export class Label extends BaseLabelComponent { .filter(cmp => cmp.type === 'totalLabel') .map(cmp => cmp.getMarks()[0].getProductId()) }, - x: labelInfos[0].series.getRegion().layout.indent.left, - y: labelInfos[0].series.getRegion().layout.indent.top + x: 0, + y: 0 }, defaultLabelConfig(rule, labelInfo), { @@ -330,7 +330,7 @@ export class Label extends BaseLabelComponent { : textAttribute(labelInfos[params.labelIndex], datum, labelSpec.formatMethod, labelSpec.formatter); } }) - .size(() => labelInfos[0].series.getRegion().getLayoutRectExcludeIndent()); + .size(() => labelInfos[0].series.getRegion().getLayoutRect()); } compileMarks() { diff --git a/packages/vchart/src/component/label/total-label.ts b/packages/vchart/src/component/label/total-label.ts index a519da3202..313c2ef770 100644 --- a/packages/vchart/src/component/label/total-label.ts +++ b/packages/vchart/src/component/label/total-label.ts @@ -113,8 +113,8 @@ export class TotalLabel extends BaseLabelComponent { { textStyle: { pickable: this._spec.interactive === true }, position: totalLabelPosition(series, this._baseMark.type), - x: series.getRegion().layout.indent.left, - y: series.getRegion().layout.indent.top + x: 0, + y: 0 }, { offset, @@ -140,7 +140,7 @@ export class TotalLabel extends BaseLabelComponent { this._spec.formatMethod ); }) - .size(() => this._regions[0].getLayoutRectExcludeIndent()); + .size(() => this._regions[0].getLayoutRect()); }); } diff --git a/packages/vchart/src/component/map-label/component.ts b/packages/vchart/src/component/map-label/component.ts index 98e8b0f74c..5a886d52f8 100644 --- a/packages/vchart/src/component/map-label/component.ts +++ b/packages/vchart/src/component/map-label/component.ts @@ -367,7 +367,7 @@ export class MapLabelComponent extends BaseComponent { }); const datum = this._data.getLatestData()[i]; const anchor = this.dataToPosition(datum); - const regionPos = this.getRegions()[0].getLayoutPositionExcludeIndent(); + const regionPos = this.getRegions()[0].getLayoutStartPoint(); const showLeader = !!(this._spec.leader?.visible && (icon || nameLabel || valueLabel)); this._markerComponents[i].setAttributes({ x: regionPos.x, diff --git a/packages/vchart/src/component/marker/mark-line/mark-line.ts b/packages/vchart/src/component/marker/mark-line/mark-line.ts index 412e92dfdb..5b017737b6 100644 --- a/packages/vchart/src/component/marker/mark-line/mark-line.ts +++ b/packages/vchart/src/component/marker/mark-line/mark-line.ts @@ -182,16 +182,16 @@ export class MarkLine extends BaseMarker implements IMarkLine { let expandDistanceValue: number; if (isPercent(expandDistance)) { const regionStart = startRelativeSeries.getRegion(); - const regionStartLayoutStartPoint = regionStart.getLayoutPositionExcludeIndent(); + const regionStartLayoutStartPoint = regionStart.getLayoutStartPoint(); const regionEnd = endRelativeSeries.getRegion(); - const regionEndLayoutStartPoint = regionEnd.getLayoutPositionExcludeIndent(); + const regionEndLayoutStartPoint = regionEnd.getLayoutStartPoint(); if (connectDirection === 'bottom' || connectDirection === 'top') { const regionHeight = Math.abs( Math.min(regionStartLayoutStartPoint.y, regionEndLayoutStartPoint.y) - Math.max( - regionStartLayoutStartPoint.y + regionStart.getLayoutRectExcludeIndent().height, - regionEndLayoutStartPoint.y + regionEnd.getLayoutRectExcludeIndent().height + regionStartLayoutStartPoint.y + regionStart.getLayoutRect().height, + regionEndLayoutStartPoint.y + regionEnd.getLayoutRect().height ) ); expandDistanceValue = (Number(expandDistance.substring(0, expandDistance.length - 1)) * regionHeight) / 100; @@ -199,8 +199,8 @@ export class MarkLine extends BaseMarker implements IMarkLine { const regionWidth = Math.abs( Math.min(regionStartLayoutStartPoint.x, regionEndLayoutStartPoint.x) - Math.max( - regionStartLayoutStartPoint.x + regionStart.getLayoutRectExcludeIndent().width, - regionEndLayoutStartPoint.x + regionEnd.getLayoutRectExcludeIndent().width + regionStartLayoutStartPoint.x + regionStart.getLayoutRect().width, + regionEndLayoutStartPoint.x + regionEnd.getLayoutRect().width ) ); expandDistanceValue = (Number(expandDistance.substring(0, expandDistance.length - 1)) * regionWidth) / 100; diff --git a/packages/vchart/src/component/marker/utils.ts b/packages/vchart/src/component/marker/utils.ts index c800413225..38ffd2aab3 100644 --- a/packages/vchart/src/component/marker/utils.ts +++ b/packages/vchart/src/component/marker/utils.ts @@ -82,22 +82,22 @@ export function xyLayout( autoRange: boolean ) { const regionStart = startRelativeSeries.getRegion(); - const regionStartLayoutStartPoint = regionStart.getLayoutPositionExcludeIndent(); + const regionStartLayoutStartPoint = regionStart.getLayoutStartPoint(); const regionEnd = endRelativeSeries.getRegion(); - const regionEndLayoutStartPoint = regionEnd.getLayoutPositionExcludeIndent(); + const regionEndLayoutStartPoint = regionEnd.getLayoutStartPoint(); const regionWidth = Math.abs( Math.min(regionStartLayoutStartPoint.x, regionEndLayoutStartPoint.x) - Math.max( - regionStartLayoutStartPoint.x + regionStart.getLayoutRectExcludeIndent().width, - regionEndLayoutStartPoint.x + regionEnd.getLayoutRectExcludeIndent().width + regionStartLayoutStartPoint.x + regionStart.getLayoutRect().width, + regionEndLayoutStartPoint.x + regionEnd.getLayoutRect().width ) ); const regionHeight = Math.abs( Math.min(regionStartLayoutStartPoint.y, regionEndLayoutStartPoint.y) - Math.max( - regionStartLayoutStartPoint.y + regionStart.getLayoutRectExcludeIndent().height, - regionEndLayoutStartPoint.y + regionEnd.getLayoutRectExcludeIndent().height + regionStartLayoutStartPoint.y + regionStart.getLayoutRect().height, + regionEndLayoutStartPoint.y + regionEnd.getLayoutRect().height ) ); @@ -121,8 +121,8 @@ export function xyLayout( } else if (isValid(datum.x)) { const x = getXValue(datum, xDomain, autoRange, refSeries, regionWidth, regionStartLayoutStartPoint); const y = Math.max( - regionStartLayoutStartPoint.y + regionStart.getLayoutRectExcludeIndent().height, - regionEndLayoutStartPoint.y + regionEnd.getLayoutRectExcludeIndent().height + regionStartLayoutStartPoint.y + regionStart.getLayoutRect().height, + regionEndLayoutStartPoint.y + regionEnd.getLayoutRect().height ); const y1 = Math.min(regionStartLayoutStartPoint.y, regionEndLayoutStartPoint.y); lines.push([ @@ -139,8 +139,8 @@ export function xyLayout( const x = Math.min(regionStartLayoutStartPoint.x, regionEndLayoutStartPoint.x); const y = getYValue(datum, yDomain, autoRange, refSeries, regionHeight, regionStartLayoutStartPoint); const x1 = Math.max( - regionStartLayoutStartPoint.x + regionStart.getLayoutRectExcludeIndent().width, - regionEndLayoutStartPoint.x + regionEnd.getLayoutRectExcludeIndent().width + regionStartLayoutStartPoint.x + regionStart.getLayoutRect().width, + regionEndLayoutStartPoint.x + regionEnd.getLayoutRect().width ); lines.push([ { @@ -178,9 +178,9 @@ export function coordinateLayout( ) => { const refRelativeSeries = datum?.getRefRelativeSeries ? datum.getRefRelativeSeries() : relativeSeries; const regionStart = refRelativeSeries.getRegion(); - const regionStartLayoutStartPoint = regionStart.getLayoutPositionExcludeIndent(); + const regionStartLayoutStartPoint = regionStart.getLayoutStartPoint(); - const { width: regionWidth, height: regionHeight } = regionStart.getLayoutRectExcludeIndent(); + const { width: regionWidth, height: regionHeight } = regionStart.getLayoutRect(); let offsetX = 0; let offsetY = 0; @@ -222,8 +222,8 @@ export function coordinateLayout( export function positionLayout(positions: MarkerPositionPoint[], series: ISeries, regionRelative: boolean): IPoint[] { if (regionRelative) { const region = series.getRegion(); - const { x: regionStartX, y: regionStartY } = region.getLayoutPositionExcludeIndent(); - const { width: regionWidth, height: regionHeight } = region.getLayoutRectExcludeIndent(); + const { x: regionStartX, y: regionStartY } = region.getLayoutStartPoint(); + const { width: regionWidth, height: regionHeight } = region.getLayoutRect(); return positions.map(position => { let { x, y } = position; if (isPercent(x)) { @@ -264,8 +264,8 @@ export function computeClipRange(regions: IRegion[]) { let minY = Infinity; let maxY = -Infinity; regions.forEach((region: IRegion) => { - const regionPos = region.getLayoutPositionExcludeIndent(); - const regionRect = region.getLayoutRectExcludeIndent(); + const regionPos = region.getLayoutStartPoint(); + const regionRect = region.getLayoutRect(); if (regionPos.x < minX) { minX = regionPos.x; } diff --git a/packages/vchart/src/component/tooltip/utils/show-tooltip.ts b/packages/vchart/src/component/tooltip/utils/show-tooltip.ts index a3a48a0660..794b4cff4d 100644 --- a/packages/vchart/src/component/tooltip/utils/show-tooltip.ts +++ b/packages/vchart/src/component/tooltip/utils/show-tooltip.ts @@ -303,8 +303,8 @@ export function showTooltip( // 组织数据 const activeType = opt.activeType ?? (markInfoList.length > 1 ? 'dimension' : 'mark'); - const regionPos = region.getLayoutPositionExcludeIndent(); - const regionRect = region.getLayoutRectExcludeIndent(); + const regionPos = region.getLayoutStartPoint(); + const regionRect = region.getLayoutRect(); const container = componentOptions.globalInstance.getContainer(); const containerPos = { x: 0, diff --git a/packages/vchart/src/core/vchart.ts b/packages/vchart/src/core/vchart.ts index 0bdcf90ae4..efd22c656e 100644 --- a/packages/vchart/src/core/vchart.ts +++ b/packages/vchart/src/core/vchart.ts @@ -1748,7 +1748,7 @@ export class VChart implements IVChart { .getViewData() // eslint-disable-next-line eqeqeq .latestData.find((viewDatum: Datum) => keys.every(k => viewDatum[k] == datum[k])); - const seriesLayoutStartPoint = series.getRegion().getLayoutPositionExcludeIndent(); + const seriesLayoutStartPoint = series.getRegion().getLayoutStartPoint(); let point: IPoint; if (handledDatum) { point = series.dataToPosition(handledDatum); diff --git a/packages/vchart/src/layout/base-layout.ts b/packages/vchart/src/layout/base-layout.ts index 5173ba5a34..e01c69f0c8 100644 --- a/packages/vchart/src/layout/base-layout.ts +++ b/packages/vchart/src/layout/base-layout.ts @@ -362,10 +362,10 @@ export class Layout implements IBaseLayout { const relativeRegion = this.filterRegionsWithID(regionItems, item.layoutBindRegionID[0]); item.setLayoutRect({ - height: relativeRegion.layoutExcludeIndent.height + height: relativeRegion.getLayoutRect().height }); item.setLayoutStartPosition({ - y: relativeRegion.layoutExcludeIndent.y + item.layoutOffsetY + item.layoutPaddingTop + y: relativeRegion.getLayoutStartPoint().y + item.layoutOffsetY + item.layoutPaddingTop }); if (item.layoutOrient === 'right') { @@ -377,11 +377,11 @@ export class Layout implements IBaseLayout { const relativeRegion = this.filterRegionsWithID(regionItems, item.layoutBindRegionID[0]); item.setLayoutRect({ - width: relativeRegion.layoutExcludeIndent.width + width: relativeRegion.getLayoutRect().width }); item.setLayoutStartPosition({ - x: relativeRegion.layoutExcludeIndent.x + item.layoutOffsetX + item.layoutPaddingLeft + x: relativeRegion.getLayoutStartPoint().x + item.layoutOffsetX + item.layoutPaddingLeft }); if (item.layoutOrient === 'bottom') { diff --git a/packages/vchart/src/layout/interface.ts b/packages/vchart/src/layout/interface.ts index 30b343c85a..9c9e4695b8 100644 --- a/packages/vchart/src/layout/interface.ts +++ b/packages/vchart/src/layout/interface.ts @@ -1,6 +1,6 @@ import type { IBoundsLike } from '@visactor/vutils'; import type { StringOrNumber } from '../typings/common'; -import type { IOrientType, IPadding, IRect } from '../typings/space'; +import type { IOrientType, IRect } from '../typings/space'; import type { IPoint } from '../typings/coordinate'; import type { ILayoutNumber, ILayoutPaddingSpec, ILayoutPoint, ILayoutRect, ILayoutType } from '../typings/layout'; import type { ILayoutModel } from '../model/interface'; @@ -91,11 +91,6 @@ export interface ILayoutItem { layoutPaddingRight: number; layoutPaddingBottom: number; - // 锁进 概念上等同于 padding - indent: IPadding; - // 锁进后的布局属性 - layoutExcludeIndent: IRect; - layoutOffsetX: number; layoutOffsetY: number; diff --git a/packages/vchart/src/layout/layout-item.ts b/packages/vchart/src/layout/layout-item.ts index c2a0e6fc49..4fc14478be 100644 --- a/packages/vchart/src/layout/layout-item.ts +++ b/packages/vchart/src/layout/layout-item.ts @@ -95,29 +95,6 @@ export class LayoutItem implements ILayoutItem { layoutPaddingRight: ILayoutItem['layoutPaddingRight'] = 0; layoutPaddingBottom: ILayoutItem['layoutPaddingBottom'] = 0; - // 锁进 等同于 padding - protected _indent: IPadding = { - left: 0, - top: 0, - right: 0, - bottom: 0 - }; - - get indent() { - return this._indent; - } - - private _layoutExcludeIndent: IRect = { - x: 0, - y: 0, - width: 0, - height: 0 - }; - - get layoutExcludeIndent() { - return this._layoutExcludeIndent; - } - layoutOffsetX: ILayoutItem['layoutOffsetX'] = 0; layoutOffsetY: ILayoutItem['layoutOffsetY'] = 0; @@ -161,9 +138,6 @@ export class LayoutItem implements ILayoutItem { this.layoutPaddingTop = paddingValue.top; this.layoutPaddingBottom = paddingValue.bottom; - const indent = normalizeLayoutPaddingSpec(spec.indent); - this._indent = calcPadding(indent, chartViewRect, chartViewRect); - this._minHeight = isNil(spec.minHeight) ? this._minHeight ?? null : calcLayoutNumber(spec.minHeight, chartViewRect.height, chartViewRect); @@ -296,8 +270,6 @@ export class LayoutItem implements ILayoutItem { if (isValidNumber(pos.y)) { this._layoutStartPoint.y = pos.y; } - this._layoutExcludeIndent.x = this._layoutStartPoint.x + this._indent.left; - this._layoutExcludeIndent.y = this._layoutStartPoint.y + this._indent.top; this._model.afterSetLayoutStartPoint?.(this._layoutStartPoint); } @@ -314,9 +286,6 @@ export class LayoutItem implements ILayoutItem { } this.setRectInSpec(this._layoutRect); - - this._layoutExcludeIndent.width = Math.max(this._layoutRect.width - this._indent.left - this._indent.right, 1); - this._layoutExcludeIndent.height = Math.max(this._layoutRect.height - this._indent.top - this._indent.bottom, 1); } getLayout(): IRect { diff --git a/packages/vchart/src/layout/layout3d/index.ts b/packages/vchart/src/layout/layout3d/index.ts index 7834b26be0..3ca476e377 100644 --- a/packages/vchart/src/layout/layout3d/index.ts +++ b/packages/vchart/src/layout/layout3d/index.ts @@ -7,7 +7,6 @@ import { Layout } from '../base-layout'; import { isXAxis, isYAxis } from '../../component/axis/cartesian/util/common'; import { Factory } from '../../core/factory'; import type { IAxis } from '../../component/axis'; -import type { ILayoutRect } from '../../typings/layout'; export class Layout3d extends Layout implements IBaseLayout { static type = 'layout3d'; diff --git a/packages/vchart/src/model/interface.ts b/packages/vchart/src/model/interface.ts index a56a868a83..50a76fcc99 100644 --- a/packages/vchart/src/model/interface.ts +++ b/packages/vchart/src/model/interface.ts @@ -141,11 +141,6 @@ export interface ILayoutModel extends IModel { getLayoutRect: () => ILayoutRect; setLayoutRect: (rect: Partial, levelMap?: Partial) => void; - // 得到排除锁进后的布局起点 - getLayoutPositionExcludeIndent: () => IPoint; - // 得到排除锁进后的尺寸 - getLayoutRectExcludeIndent: () => ILayoutRect; - getLastComputeOutBounds: () => IBoundsLike; getBoundsInRect: (rect: ILayoutRect, fullRect: ILayoutRect) => IBoundsLike; diff --git a/packages/vchart/src/model/layout-model.ts b/packages/vchart/src/model/layout-model.ts index 9b0cb44ed4..1e1d25cbd0 100644 --- a/packages/vchart/src/model/layout-model.ts +++ b/packages/vchart/src/model/layout-model.ts @@ -78,21 +78,6 @@ export abstract class LayoutModel extends BaseModel { } // 布局相关 - // 得到排除锁进后的布局起点 - getLayoutPositionExcludeIndent() { - let { x, y } = this.getLayoutStartPoint(); - x += this._layout.indent.left; - y += this._layout.indent.top; - return { x, y }; - } - // 得到排除锁进后的尺寸 - getLayoutRectExcludeIndent() { - let { width, height } = this.getLayoutRect(); - width -= this._layout.indent.left + this._layout.indent.right; - height -= this._layout.indent.top + this._layout.indent.bottom; - return { width, height }; - } - getLayoutStartPoint() { return this._layout ? this._layout.getLayoutStartPoint() : this._layoutStartPos; } diff --git a/packages/vchart/src/series/bar/bar.ts b/packages/vchart/src/series/bar/bar.ts index 0b8aa2f77f..d48e30bad0 100644 --- a/packages/vchart/src/series/bar/bar.ts +++ b/packages/vchart/src/series/bar/bar.ts @@ -595,7 +595,7 @@ export class BarSeries extends Cartes super.compile(); if (this._spec.sampling) { - const { width, height } = this._region.getLayoutRectExcludeIndent(); + const { width, height } = this._region.getLayoutRect(); const samplingTrans = []; const fieldsY = this._fieldY; const fieldsX = this._fieldX; diff --git a/packages/vchart/src/series/base/base-series.ts b/packages/vchart/src/series/base/base-series.ts index 8431b85229..f36958a017 100644 --- a/packages/vchart/src/series/base/base-series.ts +++ b/packages/vchart/src/series/base/base-series.ts @@ -121,15 +121,15 @@ export abstract class BaseSeries extends BaseModel imp }; getLayoutStartPoint(): ILayoutPoint { - return this._region.getLayoutPositionExcludeIndent(); + return this._region.getLayoutStartPoint(); } private _layoutRect: ILayoutRect = { width: null, height: null }; getLayoutRect: () => ILayoutRect = () => { return { - width: this._layoutRect.width ?? this._region.getLayoutRectExcludeIndent().width, - height: this._layoutRect.height ?? this._region.getLayoutRectExcludeIndent().height + width: this._layoutRect.width ?? this._region.getLayoutRect().width, + height: this._layoutRect.height ?? this._region.getLayoutRect().height }; }; @@ -686,15 +686,6 @@ export abstract class BaseSeries extends BaseModel imp dataView: false } ) as IGroupMark; - this.setMarkStyle( - this._rootMark, - { - x: () => this._region.layout.indent.left, - y: () => this._region.layout.indent.top - }, - 'normal', - AttributeLevel.Base_Series - ); this._rootMark.setZIndex(this.layoutZIndex); } diff --git a/packages/vchart/src/series/correlation/correlation.ts b/packages/vchart/src/series/correlation/correlation.ts index c9e8d4e02c..efa5b2f22f 100644 --- a/packages/vchart/src/series/correlation/correlation.ts +++ b/packages/vchart/src/series/correlation/correlation.ts @@ -341,12 +341,7 @@ export class CorrelationSeries extends params3d.anchor3d = (datum: Datum) => { const anchor = [ // TODO: label 布局依赖自身图元属性,这里无法获取到 - this._center?.x ?? this._region.getLayoutRectExcludeIndent().width / 2, - this._center?.y ?? this._region.getLayoutRectExcludeIndent().height / 2 + this._center?.x ?? this._region.getLayoutRect().width / 2, + this._center?.y ?? this._region.getLayoutRect().height / 2 ]; return anchor; }; diff --git a/packages/vchart/src/series/pie/pie.ts b/packages/vchart/src/series/pie/pie.ts index f5b6a5c546..31c73e865e 100644 --- a/packages/vchart/src/series/pie/pie.ts +++ b/packages/vchart/src/series/pie/pie.ts @@ -65,8 +65,8 @@ export class BasePieSeries extends PolarSeries protected _center!: IPoint | null; public get center(): IPoint { return { - x: this._spec?.centerX ?? this._region.getLayoutRectExcludeIndent().width / 2, - y: this._spec?.centerY ?? this._region.getLayoutRectExcludeIndent().height / 2 + x: this._spec?.centerX ?? this._region.getLayoutRect().width / 2, + y: this._spec?.centerY ?? this._region.getLayoutRect().height / 2 }; } protected _centerOffset!: number; @@ -86,8 +86,8 @@ export class BasePieSeries extends PolarSeries // center this._markAttributeContext.getCenter = () => { return { - x: () => this._center?.x ?? this._region.getLayoutRectExcludeIndent().width / 2, - y: () => this._center?.y ?? this._region.getLayoutRectExcludeIndent().height / 2 + x: () => this._center?.x ?? this._region.getLayoutRect().width / 2, + y: () => this._center?.y ?? this._region.getLayoutRect().height / 2 }; }; @@ -191,8 +191,8 @@ export class BasePieSeries extends PolarSeries this.setMarkStyle( pieMark, { - x: () => this._center?.x ?? this._region.getLayoutRectExcludeIndent().width / 2, - y: () => this._center?.y ?? this._region.getLayoutRectExcludeIndent().height / 2, + x: () => this._center?.x ?? this._region.getLayoutRect().width / 2, + y: () => this._center?.y ?? this._region.getLayoutRect().height / 2, fill: this.getColorAttribute(), outerRadius: isSpecValueWithScale(this._outerRadius) ? this._outerRadius @@ -298,7 +298,7 @@ export class BasePieSeries extends PolarSeries } protected computeLayoutRadius() { - const { width, height } = this._region.getLayoutRectExcludeIndent(); + const { width, height } = this._region.getLayoutRect(); return Math.min(width / 2, height / 2); } diff --git a/packages/vchart/src/series/polar/polar.ts b/packages/vchart/src/series/polar/polar.ts index ed2d7662f8..f32f089f96 100644 --- a/packages/vchart/src/series/polar/polar.ts +++ b/packages/vchart/src/series/polar/polar.ts @@ -209,7 +209,7 @@ export abstract class PolarSeries } protected _computeLayoutRadius() { - const { width, height } = this._region.getLayoutRectExcludeIndent(); + const { width, height } = this._region.getLayoutRect(); return Math.min(width / 2, height / 2); } diff --git a/packages/vchart/src/series/sankey/sankey.ts b/packages/vchart/src/series/sankey/sankey.ts index a83c3f9417..d1be935ecd 100644 --- a/packages/vchart/src/series/sankey/sankey.ts +++ b/packages/vchart/src/series/sankey/sankey.ts @@ -1383,12 +1383,7 @@ export class SankeySeries exten onLayoutEnd(ctx: any): void { super.onLayoutEnd(ctx); - this._viewBox.set( - 0, - 0, - this._region.getLayoutRectExcludeIndent().width, - this._region.getLayoutRectExcludeIndent().height - ); + this._viewBox.set(0, 0, this._region.getLayoutRect().width, this._region.getLayoutRect().height); // calculate the sankeyLayout this.getViewData().reRunAllTransform(); diff --git a/packages/vchart/src/series/sunburst/sunburst.ts b/packages/vchart/src/series/sunburst/sunburst.ts index 3b594b42a2..1dcc28e21e 100644 --- a/packages/vchart/src/series/sunburst/sunburst.ts +++ b/packages/vchart/src/series/sunburst/sunburst.ts @@ -385,11 +385,11 @@ export class SunburstSeries extends PolarSeries { private _computeRadius(radius: number | number[]) { if (isArray(radius)) { return radius.map(r => { - const { width, height } = this.getRegion().getLayoutRectExcludeIndent(); + const { width, height } = this.getRegion().getLayoutRect(); return Math.min(width / 2, height / 2) * r; }); } - const { width, height } = this.getRegion().getLayoutRectExcludeIndent(); + const { width, height } = this.getRegion().getLayoutRect(); return Math.min(width / 2, height / 2) * radius; } diff --git a/packages/vchart/src/series/word-cloud/base.ts b/packages/vchart/src/series/word-cloud/base.ts index bd6d557fbd..ba02778a52 100644 --- a/packages/vchart/src/series/word-cloud/base.ts +++ b/packages/vchart/src/series/word-cloud/base.ts @@ -270,7 +270,7 @@ export class BaseWordCloudSeries 0 && width > 0)) { return; @@ -347,7 +347,7 @@ export class BaseWordCloudSeries