From e42bd6c32195fb10d348aed414726e0d66413cf7 Mon Sep 17 00:00:00 2001
From: Tim Molter <tim.molter@gmail.com>
Date: Sun, 16 Jun 2013 10:52:14 +0200
Subject: [PATCH] fixed issues 39 and 40

---
 .../internal/chartpart/AxisTickNumericalCalculator.java    | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickNumericalCalculator.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickNumericalCalculator.java
index 3759659d..890aba97 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickNumericalCalculator.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickNumericalCalculator.java
@@ -82,6 +82,11 @@ public class AxisTickNumericalCalculator extends AxisTickCalculator {
    */
   private BigDecimal getGridStep(int tickSpace) {
 
+    // this prevents an infinite loop when the plot gets sized really small.
+    if (tickSpace < 10) {
+      return BigDecimal.ONE;
+    }
+
     // the span of the data
     double span = Math.abs(maxValue.subtract(minValue).doubleValue()); // in data space
 
@@ -108,7 +113,7 @@ public class AxisTickNumericalCalculator extends AxisTickCalculator {
       }
     }
     else {
-      while (significand >= 10) {
+      while (significand >= 10 || significand == Double.NEGATIVE_INFINITY) {
         significand /= 10.0;
         exponent++;
       }
-- 
GitLab