From 88ac0ed26d939246818092dc5778f1a3578a77b8 Mon Sep 17 00:00:00 2001 From: Alexander Krimm Date: Wed, 9 Aug 2023 12:53:09 +0200 Subject: [PATCH] Renderer: Fix bubble chart error type handling As reported by @protogenes, there was a misstake in the handling of the Error type for BubbleCharts in the ErrorDataSetRender. fixes #558 --- .../renderer/spi/ErrorDataSetRenderer.java | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/chartfx-chart/src/main/java/io/fair_acc/chartfx/renderer/spi/ErrorDataSetRenderer.java b/chartfx-chart/src/main/java/io/fair_acc/chartfx/renderer/spi/ErrorDataSetRenderer.java index 8cc57ec3b..98122ceac 100644 --- a/chartfx-chart/src/main/java/io/fair_acc/chartfx/renderer/spi/ErrorDataSetRenderer.java +++ b/chartfx-chart/src/main/java/io/fair_acc/chartfx/renderer/spi/ErrorDataSetRenderer.java @@ -348,35 +348,29 @@ protected void drawBubbles(final GraphicsContext gc, final CachedDataPoints loca } final double minSize = getMarkerSize(); - if (localCachedPoints.errorType[DataSet.DIM_X] != ErrorType.NO_ERROR - || localCachedPoints.errorType[DataSet.DIM_Y] == ErrorType.NO_ERROR) { + if (localCachedPoints.errorType[DataSet.DIM_X] != ErrorType.NO_ERROR && localCachedPoints.errorType[DataSet.DIM_Y] == ErrorType.NO_ERROR) { // X, X_ASYMMETRIC for (int i = 0; i < localCachedPoints.actualDataCount; i++) { - final double radius = Math.max(minSize, - localCachedPoints.errorXPos[i] - localCachedPoints.errorXNeg[i]); + final double radius = Math.max(minSize, localCachedPoints.errorXPos[i] - localCachedPoints.errorXNeg[i]); final double x = localCachedPoints.xValues[i] - radius; final double y = localCachedPoints.yValues[i] - radius; gc.fillOval(x, y, 2 * radius, 2 * radius); } - } else if (localCachedPoints.errorType[DataSet.DIM_X] == ErrorType.NO_ERROR - || localCachedPoints.errorType[DataSet.DIM_Y] != ErrorType.NO_ERROR) { + } else if (localCachedPoints.errorType[DataSet.DIM_X] == ErrorType.NO_ERROR && localCachedPoints.errorType[DataSet.DIM_Y] != ErrorType.NO_ERROR) { // Y, Y_ASYMMETRIC for (int i = 0; i < localCachedPoints.actualDataCount; i++) { - final double radius = Math.max(minSize, - localCachedPoints.errorYNeg[i] - localCachedPoints.errorYPos[i]); + final double radius = Math.max(minSize, localCachedPoints.errorYNeg[i] - localCachedPoints.errorYPos[i]); final double x = localCachedPoints.xValues[i] - radius; final double y = localCachedPoints.yValues[i] - radius; gc.fillOval(x, y, 2 * radius, 2 * radius); } - } else if (localCachedPoints.errorType[DataSet.DIM_X] != ErrorType.NO_ERROR - || localCachedPoints.errorType[DataSet.DIM_Y] != ErrorType.NO_ERROR) { + } else if (localCachedPoints.errorType[DataSet.DIM_X] != ErrorType.NO_ERROR && localCachedPoints.errorType[DataSet.DIM_Y] != ErrorType.NO_ERROR) { // XY, XY_ASYMMETRIC for (int i = 0; i < localCachedPoints.actualDataCount; i++) { final double width = Math.max(minSize, localCachedPoints.errorXPos[i] - localCachedPoints.errorXNeg[i]); - final double height = Math.max(minSize, - localCachedPoints.errorYNeg[i] - localCachedPoints.errorYPos[i]); + final double height = Math.max(minSize, localCachedPoints.errorYNeg[i] - localCachedPoints.errorYPos[i]); final double x = localCachedPoints.xValues[i] - width; final double y = localCachedPoints.yValues[i] - height;