diff --git a/core/core-backend/src/main/java/io/dataease/chart/charts/impl/scatter/ScatterHandler.java b/core/core-backend/src/main/java/io/dataease/chart/charts/impl/scatter/ScatterHandler.java index e84de4a2c7..90037d3dad 100644 --- a/core/core-backend/src/main/java/io/dataease/chart/charts/impl/scatter/ScatterHandler.java +++ b/core/core-backend/src/main/java/io/dataease/chart/charts/impl/scatter/ScatterHandler.java @@ -35,10 +35,11 @@ public class ScatterHandler extends YoyChartHandler { boolean isDrill = filterResult.getFilterList().stream().anyMatch(ele -> ele.getFilterType() == 1); var xAxis = formatResult.getAxisMap().get(ChartAxis.xAxis); var yAxis = formatResult.getAxisMap().get(ChartAxis.yAxis); + var yAxisTemp = new ArrayList<>(yAxis); var extBubble = formatResult.getAxisMap().get(ChartAxis.extBubble); if (!extBubble.isEmpty()) { // 剔除气泡大小,移除一个 - Iterator iterator = yAxis.iterator(); + Iterator iterator = yAxisTemp.iterator(); while (iterator.hasNext()) { ChartViewFieldDTO obj = iterator.next(); if (obj.getId().equals(extBubble.getFirst().getId())) { @@ -47,7 +48,7 @@ public class ScatterHandler extends YoyChartHandler { } } } - Map result = ChartDataBuild.transScatterDataAntV(xAxis, yAxis, view, data, extBubble, isDrill); + Map result = ChartDataBuild.transScatterDataAntV(xAxis, yAxisTemp, view, data, extBubble, isDrill); return result; } } diff --git a/core/core-backend/src/main/java/io/dataease/chart/utils/ChartDataBuild.java b/core/core-backend/src/main/java/io/dataease/chart/utils/ChartDataBuild.java index a5c4b88e38..28698d4652 100644 --- a/core/core-backend/src/main/java/io/dataease/chart/utils/ChartDataBuild.java +++ b/core/core-backend/src/main/java/io/dataease/chart/utils/ChartDataBuild.java @@ -437,11 +437,11 @@ public class ChartDataBuild { axisChartDataDTO.setValue(new BigDecimal(0)); } axisChartDataDTO.setCategory(StringUtils.defaultIfBlank(yAxis.get(j).getChartShowName(), yAxis.get(j).getName())); - buildDynamicValue(view, axisChartDataDTO, row, size, extSize); + buildDynamicValue(view, axisChartDataDTO, row, size, ObjectUtils.isNotEmpty(extBubble)?extSize-1:extSize); // pop if (ObjectUtils.isNotEmpty(extBubble)) { try { - axisChartDataDTO.setPopSize(StringUtils.isEmpty(row[size - extBubble.size()]) ? null : new BigDecimal(row[size - extBubble.size()])); + axisChartDataDTO.setPopSize(StringUtils.isEmpty(row[2]) ? null : new BigDecimal(row[2])); ChartQuotaDTO bubbleQuotaDTO = new ChartQuotaDTO(); bubbleQuotaDTO.setId(extBubble.get(0).getId()); quotaList.add(bubbleQuotaDTO);