From da2fbf51485b2498439f99d14670fb923326254c Mon Sep 17 00:00:00 2001 From: Ovilia Date: Thu, 14 Feb 2019 16:09:47 +0800 Subject: [PATCH] fix(polar): barWidth calculation when stack on multiple polars #9626 --- src/layout/barPolar.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/layout/barPolar.js b/src/layout/barPolar.js index c788e9a94f..a5536ee6aa 100644 --- a/src/layout/barPolar.js +++ b/src/layout/barPolar.js @@ -26,8 +26,8 @@ function getSeriesStackId(seriesModel) { || '__ec_stack_' + seriesModel.seriesIndex; } -function getAxisKey(axis) { - return axis.dim; +function getAxisKey(polar, axis) { + return axis.dim + polar.model.componentIndex; } /** @@ -60,10 +60,11 @@ function barLayoutPolar(seriesType, ecModel, api) { var data = seriesModel.getData(); var polar = seriesModel.coordinateSystem; var baseAxis = polar.getBaseAxis(); + var axisKey = getAxisKey(polar, baseAxis); var stackId = getSeriesStackId(seriesModel); var columnLayoutInfo - = barWidthAndOffset[getAxisKey(baseAxis)][stackId]; + = barWidthAndOffset[axisKey][stackId]; var columnOffset = columnLayoutInfo.offset; var columnWidth = columnLayoutInfo.width; var valueAxis = polar.getOtherAxis(baseAxis); @@ -185,13 +186,14 @@ function calRadialBar(barSeries, api) { var polar = seriesModel.coordinateSystem; var baseAxis = polar.getBaseAxis(); + var axisKey = getAxisKey(polar, baseAxis); var axisExtent = baseAxis.getExtent(); var bandWidth = baseAxis.type === 'category' ? baseAxis.getBandWidth() : (Math.abs(axisExtent[1] - axisExtent[0]) / data.count()); - var columnsOnAxis = columnsMap[getAxisKey(baseAxis)] || { + var columnsOnAxis = columnsMap[axisKey] || { bandWidth: bandWidth, remainedWidth: bandWidth, autoWidthCount: 0, @@ -200,7 +202,7 @@ function calRadialBar(barSeries, api) { stacks: {} }; var stacks = columnsOnAxis.stacks; - columnsMap[getAxisKey(baseAxis)] = columnsOnAxis; + columnsMap[axisKey] = columnsOnAxis; var stackId = getSeriesStackId(seriesModel);