From 0fdb65008f911129cf28100eb32447daf5044021 Mon Sep 17 00:00:00 2001
From: Tim Molter <tim.molter@gmail.com>
Date: Thu, 13 Mar 2014 13:51:50 +0100
Subject: [PATCH] bug fix - removed accumulated double to int error in xAxis
 bar and tick mark positioning

---
 .../internal/chartpart/AxisTickBarChartCalculator.java     | 7 ++++---
 .../xchart/internal/chartpart/PlotContentBarChart.java     | 2 +-
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickBarChartCalculator.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickBarChartCalculator.java
index e163b678..78bc5e9f 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickBarChartCalculator.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickBarChartCalculator.java
@@ -79,8 +79,9 @@ public class AxisTickBarChartCalculator extends AxisTickCalculator {
 
     int numCategories = categories.size();
 
-    int gridStep = (int) (tickSpace / (double) numCategories);
-    int firstPosition = (int) (gridStep / 2.0);
+    double gridStep = (tickSpace / (double) numCategories);
+    // int firstPosition = (int) (gridStep / 2.0);
+    double firstPosition = getFirstPosition(gridStep);
 
     // generate all tickLabels and tickLocations from the first to last position
     NumberFormatter numberFormatter = null;
@@ -106,7 +107,7 @@ public class AxisTickBarChartCalculator extends AxisTickCalculator {
       else if (chartPainter.getAxisPair().getXAxis().getAxisType() == AxisType.String) {
         tickLabels.add(category.toString());
       }
-      int tickLabelPosition = margin + firstPosition + gridStep * counter++;
+      int tickLabelPosition = (int) (margin + firstPosition + gridStep * counter++);
       tickLocations.add(tickLabelPosition);
     }
   }
diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotContentBarChart.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotContentBarChart.java
index 7fc2e0e3..808964cc 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotContentBarChart.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotContentBarChart.java
@@ -69,7 +69,7 @@ public class PlotContentBarChart extends PlotContent {
       }
     }
     int numBars = categories.size();
-    int gridStep = (int) (xTickSpace / (double) numBars);
+    double gridStep = xTickSpace / (double) numBars;
 
     // plot series
     int seriesCounter = 0;
-- 
GitLab