From 7c7b994d9b565c4685dbb3c7cf0ce8015fe41ef8 Mon Sep 17 00:00:00 2001 From: Tim Molter <tim.molter@gmail.com> Date: Tue, 2 Apr 2013 19:04:36 +0200 Subject: [PATCH] fix custom min and max for log plots --- .../AxisTickLogarithmicCalculator.java | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickLogarithmicCalculator.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickLogarithmicCalculator.java index ba057deb..37cee125 100644 --- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickLogarithmicCalculator.java +++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickLogarithmicCalculator.java @@ -66,9 +66,26 @@ public class AxisTickLogarithmicCalculator extends AxisTickCalculator { // where the tick should begin in the working space in pixels int margin = AxisPair.getTickStartOffset(workingSpace, tickSpace); // in plot space BigDecimal gridStep = getGridStepForDecimal(tickSpace); + if (axisDirection == Direction.Y && styleManager.getXAxisMin() == null) { + + } + int logMin = (int) Math.floor(Math.log10(minValue.doubleValue())); int logMax = (int) Math.ceil(Math.log10(maxValue.doubleValue())); + if (axisDirection == Direction.Y && styleManager.getYAxisMin() != null) { + logMin = (int) (Math.log10(styleManager.getYAxisMin())); // no floor + } + if (axisDirection == Direction.Y && styleManager.getYAxisMax() != null) { + logMax = (int) (Math.log10(styleManager.getYAxisMax())); // no floor + } + if (axisDirection == Direction.X && styleManager.getXAxisMin() != null) { + logMin = (int) (Math.log10(styleManager.getXAxisMin())); // no floor + } + if (axisDirection == Direction.X && styleManager.getXAxisMax() != null) { + logMax = (int) (Math.log10(styleManager.getXAxisMax())); // no floor + } + final BigDecimal min = new BigDecimal(minValue.doubleValue()); BigDecimal tickStep = pow(10, logMin - 1); @@ -99,5 +116,4 @@ public class AxisTickLogarithmicCalculator extends AxisTickCalculator { firstPosition = tickStep.add(pow(10, i)); } } - } -- GitLab