diff --git a/packages/vchart/src/series/box-plot/box-plot.ts b/packages/vchart/src/series/box-plot/box-plot.ts index a5c6167060..0ef3be123b 100644 --- a/packages/vchart/src/series/box-plot/box-plot.ts +++ b/packages/vchart/src/series/box-plot/box-plot.ts @@ -350,7 +350,7 @@ export class BoxPlotSeries ex //获取自适应的图元宽度 const bandAxisHelper = this._direction === Direction.horizontal ? this._yAxisHelper : this._xAxisHelper; const depthFromSpec = this._groups ? this._groups.fields.length : 1; - const bandWidth = bandAxisHelper.getBandwidth?.(depthFromSpec - 1); + const bandWidth = bandAxisHelper.getBandwidth?.(depthFromSpec - 1) ?? Math.max(this._boxWidth, this._shaftWidth); let width = bandWidth; if (isValid(this._spec.boxWidth)) { @@ -386,7 +386,7 @@ export class BoxPlotSeries ex const depthFromSpec = this._groups ? this._groups.fields.length : 1; const depth = depthFromSpec; - const bandWidth = axisHelper.getBandwidth?.(depth - 1); + const bandWidth = axisHelper.getBandwidth?.(depth - 1) ?? Math.max(this._boxWidth, this._shaftWidth); const size = this._boxPlotMark.getAttribute(sizeAttribute, datum) as number; if (depth > 1 && isValid(this._spec.boxGapInGroup)) { @@ -412,7 +412,9 @@ export class BoxPlotSeries ex } } - const center = scale.scale(datum[groupFields[0]]) + axisHelper.getBandwidth(0) / 2; + const center = + scale.scale(datum[groupFields[0]]) + + (axisHelper.getBandwidth(0) ?? Math.max(this._boxWidth, this._shaftWidth)) / 2; return center - totalWidth / 2 + offSet + size / 2; }