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