From c30f8e2228e40d3a40066b6be1a70f9caa1ef9c7 Mon Sep 17 00:00:00 2001
From: Tim Molter <tim@knowm.org>
Date: Fri, 1 Jan 2016 23:50:18 +0100
Subject: [PATCH] misc. rearranging, comments, cleanup, renaming stuff

---
 .../src/main/java/org/knowm/xchart/Chart.java |  3 +
 .../knowm/xchart/internal/chartpart/Axis.java | 37 ++++++-----
 .../xchart/internal/chartpart/AxisPair.java   |  6 +-
 .../chartpart/AxisTickCalculator.java         | 31 +++-------
 ...a => AxisTickCategoryChartCalculator.java} | 27 +++++++-
 ...tor.java => AxisTickNumberCalculator.java} |  4 +-
 .../knowm/xchart/internal/chartpart/Plot.java |  8 +--
 ....java => PlotContentCategoricalChart.java} | 10 +--
 ...rt.java => PlotContentNumericalChart.java} | 16 ++---
 .../internal/chartpart/PlotSurface.java       | 61 ++++++++-----------
 10 files changed, 97 insertions(+), 106 deletions(-)
 rename xchart/src/main/java/org/knowm/xchart/internal/chartpart/{AxisTickBarChartCalculator.java => AxisTickCategoryChartCalculator.java} (81%)
 rename xchart/src/main/java/org/knowm/xchart/internal/chartpart/{AxisTickNumericalCalculator.java => AxisTickNumberCalculator.java} (96%)
 rename xchart/src/main/java/org/knowm/xchart/internal/chartpart/{PlotContentBarChart.java => PlotContentCategoricalChart.java} (97%)
 rename xchart/src/main/java/org/knowm/xchart/internal/chartpart/{PlotContentLineChart.java => PlotContentNumericalChart.java} (95%)

diff --git a/xchart/src/main/java/org/knowm/xchart/Chart.java b/xchart/src/main/java/org/knowm/xchart/Chart.java
index 94c1b1ef..b2e9deb4 100644
--- a/xchart/src/main/java/org/knowm/xchart/Chart.java
+++ b/xchart/src/main/java/org/knowm/xchart/Chart.java
@@ -32,6 +32,9 @@ import org.knowm.xchart.internal.style.Theme;
  */
 public class Chart {
 
+  /**
+   * Hides ugly details mostly related to painting the chart and managing the added series. Not to be exposed to outside.
+   */
   private final ChartPainter chartPainter;
 
   /**
diff --git a/xchart/src/main/java/org/knowm/xchart/internal/chartpart/Axis.java b/xchart/src/main/java/org/knowm/xchart/internal/chartpart/Axis.java
index 572f8493..6846d30a 100644
--- a/xchart/src/main/java/org/knowm/xchart/internal/chartpart/Axis.java
+++ b/xchart/src/main/java/org/knowm/xchart/internal/chartpart/Axis.java
@@ -23,7 +23,6 @@ import java.awt.font.TextLayout;
 import java.awt.geom.AffineTransform;
 import java.awt.geom.Rectangle2D;
 
-import org.knowm.xchart.StyleManager.ChartType;
 import org.knowm.xchart.StyleManager.LegendPosition;
 
 /**
@@ -121,7 +120,7 @@ public class Axis implements ChartPart {
   protected void setAxisType(AxisType axisType) {
 
     if (this.axisType != null && this.axisType != axisType) {
-      throw new IllegalArgumentException("Date and Number Axes cannot be mixed on the same chart!! ");
+      throw new IllegalArgumentException("Different Axes (Date, Number, String) cannot be mixed on the same chart!!");
     }
     this.axisType = axisType;
   }
@@ -162,18 +161,18 @@ public class Axis implements ChartPart {
 
         double approximateXAxisWidth =
 
-        getChartPainter().getWidth()
+            getChartPainter().getWidth()
 
-        - width // y-axis approx. width
+                - width // y-axis approx. width
 
-        - (getChartPainter().getStyleManager().getLegendPosition() == LegendPosition.OutsideE ? getChartPainter().getChartLegend().getLegendBoxWidth() : 0)
+                - (getChartPainter().getStyleManager().getLegendPosition() == LegendPosition.OutsideE ? getChartPainter().getChartLegend().getLegendBoxWidth() : 0)
 
-        - 2 * getChartPainter().getStyleManager().getChartPadding()
+                - 2 * getChartPainter().getStyleManager().getChartPadding()
 
-        - (getChartPainter().getStyleManager().isYAxisTicksVisible() ? (getChartPainter().getStyleManager().getPlotPadding()) : 0)
+                - (getChartPainter().getStyleManager().isYAxisTicksVisible() ? (getChartPainter().getStyleManager().getPlotPadding()) : 0)
 
-        - (getChartPainter().getStyleManager().getLegendPosition() == LegendPosition.OutsideE && getChartPainter().getStyleManager().isLegendVisible() ? getChartPainter().getStyleManager()
-            .getChartPadding() : 0)
+                - (getChartPainter().getStyleManager().getLegendPosition() == LegendPosition.OutsideE && getChartPainter().getStyleManager().isLegendVisible() ? getChartPainter().getStyleManager()
+                    .getChartPadding() : 0)
 
         ;
 
@@ -219,18 +218,18 @@ public class Axis implements ChartPart {
 
       double width =
 
-      getChartPainter().getWidth()
+          getChartPainter().getWidth()
 
-      - axisPair.getYAxis().getBounds().getWidth() // y-axis was already painted
+              - axisPair.getYAxis().getBounds().getWidth() // y-axis was already painted
 
-      - (getChartPainter().getStyleManager().getLegendPosition() == LegendPosition.OutsideE ? getChartPainter().getChartLegend().getLegendBoxWidth() : 0)
+              - (getChartPainter().getStyleManager().getLegendPosition() == LegendPosition.OutsideE ? getChartPainter().getChartLegend().getLegendBoxWidth() : 0)
 
-      - 2 * getChartPainter().getStyleManager().getChartPadding()
+              - 2 * getChartPainter().getStyleManager().getChartPadding()
 
-      - (getChartPainter().getStyleManager().isYAxisTicksVisible() ? (getChartPainter().getStyleManager().getPlotPadding()) : 0)
+              - (getChartPainter().getStyleManager().isYAxisTicksVisible() ? (getChartPainter().getStyleManager().getPlotPadding()) : 0)
 
-      - (getChartPainter().getStyleManager().getLegendPosition() == LegendPosition.OutsideE && getChartPainter().getStyleManager().isLegendVisible() ? getChartPainter().getStyleManager()
-          .getChartPadding() : 0)
+              - (getChartPainter().getStyleManager().getLegendPosition() == LegendPosition.OutsideE && getChartPainter().getStyleManager().isLegendVisible() ? getChartPainter().getStyleManager()
+                  .getChartPadding() : 0)
 
       ;
 
@@ -343,9 +342,9 @@ public class Axis implements ChartPart {
 
   private AxisTickCalculator getAxisTickCalculator(double workingSpace) {
 
-    if (getDirection() == Direction.X && getChartPainter().getStyleManager().getChartType() == ChartType.Bar) {
+    if (getDirection() == Direction.X && getAxisType() == AxisType.String) {
 
-      return new AxisTickBarChartCalculator(getDirection(), workingSpace, getMin(), getMax(), getChartPainter());
+      return new AxisTickCategoryChartCalculator(getDirection(), workingSpace, getMin(), getMax(), getChartPainter());
 
     }
     else if (getDirection() == Direction.X && getChartPainter().getStyleManager().isXAxisLogarithmic() && getAxisType() != AxisType.Date) {
@@ -365,7 +364,7 @@ public class Axis implements ChartPart {
     }
     else { // number
 
-      return new AxisTickNumericalCalculator(getDirection(), workingSpace, getMin(), getMax(), getChartPainter().getStyleManager());
+      return new AxisTickNumberCalculator(getDirection(), workingSpace, getMin(), getMax(), getChartPainter().getStyleManager());
     }
   }
 
diff --git a/xchart/src/main/java/org/knowm/xchart/internal/chartpart/AxisPair.java b/xchart/src/main/java/org/knowm/xchart/internal/chartpart/AxisPair.java
index ca332510..d6743ae7 100644
--- a/xchart/src/main/java/org/knowm/xchart/internal/chartpart/AxisPair.java
+++ b/xchart/src/main/java/org/knowm/xchart/internal/chartpart/AxisPair.java
@@ -26,7 +26,6 @@ import java.util.List;
 import java.util.Map;
 
 import org.knowm.xchart.Series;
-import org.knowm.xchart.StyleManager.ChartType;
 import org.knowm.xchart.internal.chartpart.Axis.AxisType;
 import org.knowm.xchart.internal.style.SeriesColorMarkerLineStyleCycler;
 
@@ -103,13 +102,10 @@ public class AxisPair implements ChartPart {
         xAxis.setAxisType(AxisType.Date);
       }
       else if (dataPoint instanceof String) {
-        if (getChartPainter().getStyleManager().getChartType() != ChartType.Bar) {
-          throw new RuntimeException("X-Axis data types of String can only be used for Bar Charts!!!");
-        }
         xAxis.setAxisType(AxisType.String);
       }
       else {
-        throw new RuntimeException("Series data must be either Number, Date or String type!!!");
+        throw new IllegalArgumentException("Series data must be either Number, Date or String type!!!");
       }
       yAxis.setAxisType(AxisType.Number);
       series = new Series(seriesName, xData, xAxis.getAxisType(), yData, yAxis.getAxisType(), errorBars, seriesColorMarkerLineStyleCycler.getNextSeriesColorMarkerLineStyle());
diff --git a/xchart/src/main/java/org/knowm/xchart/internal/chartpart/AxisTickCalculator.java b/xchart/src/main/java/org/knowm/xchart/internal/chartpart/AxisTickCalculator.java
index a6d1672d..280962c7 100644
--- a/xchart/src/main/java/org/knowm/xchart/internal/chartpart/AxisTickCalculator.java
+++ b/xchart/src/main/java/org/knowm/xchart/internal/chartpart/AxisTickCalculator.java
@@ -25,8 +25,6 @@ import java.util.LinkedList;
 import java.util.List;
 
 import org.knowm.xchart.StyleManager;
-import org.knowm.xchart.StyleManager.ChartType;
-import org.knowm.xchart.internal.Utils;
 import org.knowm.xchart.internal.chartpart.Axis.Direction;
 
 /**
@@ -44,9 +42,9 @@ public abstract class AxisTickCalculator {
 
   protected final double workingSpace;
 
-  protected final double minValue;
+  protected double minValue;
 
-  protected final double maxValue;
+  protected double maxValue;
 
   protected final StyleManager styleManager;
 
@@ -61,31 +59,16 @@ public abstract class AxisTickCalculator {
    */
   public AxisTickCalculator(Direction axisDirection, double workingSpace, double minValue, double maxValue, StyleManager styleManager) {
 
-    // override min/max value for bar charts' Y-Axis
+    // override min and maxValue if specified
     double overrideMinValue = minValue;
     double overrideMaxValue = maxValue;
-    if (styleManager.getChartType() == ChartType.Bar && axisDirection == Direction.Y) { // this is the Y-Axis for a bar chart
-      if (minValue > 0.0 && maxValue > 0.0) {
-        overrideMinValue = 0.0;
-      }
-      if (minValue < 0.0 && maxValue < 0.0) {
-        overrideMaxValue = 0.0;
-      }
-    }
-
-    if (styleManager.getChartType() == ChartType.Bar && styleManager.isYAxisLogarithmic()) {
-      int logMin = (int) Math.floor(Math.log10(minValue));
-      overrideMinValue = Utils.pow(10, logMin);
-    }
-
-    // override min and maxValue if specified
-    if (axisDirection == Direction.X && styleManager.getXAxisMin() != null && styleManager.getChartType() != ChartType.Bar) { // bar chart cannot have a max or min
+    if (axisDirection == Direction.X && styleManager.getXAxisMin() != null) {
       overrideMinValue = styleManager.getXAxisMin();
     }
     if (axisDirection == Direction.Y && styleManager.getYAxisMin() != null) {
       overrideMinValue = styleManager.getYAxisMin();
     }
-    if (axisDirection == Direction.X && styleManager.getXAxisMax() != null && styleManager.getChartType() != ChartType.Bar) { // bar chart cannot have a max or min
+    if (axisDirection == Direction.X && styleManager.getXAxisMax() != null) {
       overrideMaxValue = styleManager.getXAxisMax();
     }
     if (axisDirection == Direction.Y && styleManager.getYAxisMax() != null) {
@@ -104,7 +87,7 @@ public abstract class AxisTickCalculator {
    * @param gridStep
    * @return
    */
-      double getFirstPosition(double gridStep) {
+  double getFirstPosition(double gridStep) {
 
     // System.out.println("******");
 
@@ -129,7 +112,7 @@ public abstract class AxisTickCalculator {
    * @param tickSpacingHint
    * @return
    */
-      boolean willLabelsFitInTickSpaceHint(List<String> tickLabels, int tickSpacingHint) {
+  boolean willLabelsFitInTickSpaceHint(List<String> tickLabels, int tickSpacingHint) {
 
     // Assume that for Y-Axis the ticks will all fit based on their tickSpace hint because the text is usually horizontal and "short". This more applies to the X-Axis.
     if (this.axisDirection == Direction.Y) {
diff --git a/xchart/src/main/java/org/knowm/xchart/internal/chartpart/AxisTickBarChartCalculator.java b/xchart/src/main/java/org/knowm/xchart/internal/chartpart/AxisTickCategoryChartCalculator.java
similarity index 81%
rename from xchart/src/main/java/org/knowm/xchart/internal/chartpart/AxisTickBarChartCalculator.java
rename to xchart/src/main/java/org/knowm/xchart/internal/chartpart/AxisTickCategoryChartCalculator.java
index bb5e343a..33d8d90a 100644
--- a/xchart/src/main/java/org/knowm/xchart/internal/chartpart/AxisTickBarChartCalculator.java
+++ b/xchart/src/main/java/org/knowm/xchart/internal/chartpart/AxisTickCategoryChartCalculator.java
@@ -27,11 +27,11 @@ import org.knowm.xchart.internal.chartpart.Axis.AxisType;
 import org.knowm.xchart.internal.chartpart.Axis.Direction;
 
 /**
- * This class encapsulates the logic to generate the axis tick mark and axis tick label data for rendering the axis ticks for decimal axes
+ * This class encapsulates the logic to generate the axis tick mark and axis tick label data for rendering the axis ticks for String axes
  *
  * @author timmolter
  */
-public class AxisTickBarChartCalculator extends AxisTickCalculator {
+public class AxisTickCategoryChartCalculator extends AxisTickCalculator {
 
   /**
    * Constructor
@@ -42,9 +42,30 @@ public class AxisTickBarChartCalculator extends AxisTickCalculator {
    * @param maxValue
    * @param styleManager
    */
-  public AxisTickBarChartCalculator(Direction axisDirection, double workingSpace, double minValue, double maxValue, ChartPainter chart) {
+  public AxisTickCategoryChartCalculator(Direction axisDirection, double workingSpace, double minValue, double maxValue, ChartPainter chart) {
 
     super(axisDirection, workingSpace, minValue, maxValue, chart.getStyleManager());
+
+    // override min/max value for bar charts' Y-Axis
+    double overrideMinValue = minValue;
+    double overrideMaxValue = maxValue;
+    if (axisDirection == Direction.Y) { // this is the Y-Axis for a bar chart
+      if (minValue > 0.0 && maxValue > 0.0) {
+        overrideMinValue = 0.0;
+      }
+      if (minValue < 0.0 && maxValue < 0.0) {
+        overrideMaxValue = 0.0;
+      }
+    }
+
+    if (styleManager.isYAxisLogarithmic()) {
+      int logMin = (int) Math.floor(Math.log10(minValue));
+      overrideMinValue = Utils.pow(10, logMin);
+    }
+
+    this.minValue = overrideMinValue;
+    this.maxValue = overrideMaxValue;
+
     calculate(chart);
   }
 
diff --git a/xchart/src/main/java/org/knowm/xchart/internal/chartpart/AxisTickNumericalCalculator.java b/xchart/src/main/java/org/knowm/xchart/internal/chartpart/AxisTickNumberCalculator.java
similarity index 96%
rename from xchart/src/main/java/org/knowm/xchart/internal/chartpart/AxisTickNumericalCalculator.java
rename to xchart/src/main/java/org/knowm/xchart/internal/chartpart/AxisTickNumberCalculator.java
index 3b42ed26..26ec9be0 100644
--- a/xchart/src/main/java/org/knowm/xchart/internal/chartpart/AxisTickNumericalCalculator.java
+++ b/xchart/src/main/java/org/knowm/xchart/internal/chartpart/AxisTickNumberCalculator.java
@@ -28,7 +28,7 @@ import org.knowm.xchart.internal.chartpart.Axis.Direction;
  *
  * @author timmolter
  */
-public class AxisTickNumericalCalculator extends AxisTickCalculator {
+public class AxisTickNumberCalculator extends AxisTickCalculator {
 
   NumberFormatter numberFormatter = null;
 
@@ -41,7 +41,7 @@ public class AxisTickNumericalCalculator extends AxisTickCalculator {
    * @param maxValue
    * @param styleManager
    */
-  public AxisTickNumericalCalculator(Direction axisDirection, double workingSpace, double minValue, double maxValue, StyleManager styleManager) {
+  public AxisTickNumberCalculator(Direction axisDirection, double workingSpace, double minValue, double maxValue, StyleManager styleManager) {
 
     super(axisDirection, workingSpace, minValue, maxValue, styleManager);
     numberFormatter = new NumberFormatter(styleManager);
diff --git a/xchart/src/main/java/org/knowm/xchart/internal/chartpart/Plot.java b/xchart/src/main/java/org/knowm/xchart/internal/chartpart/Plot.java
index f48d3bf5..9da422c9 100644
--- a/xchart/src/main/java/org/knowm/xchart/internal/chartpart/Plot.java
+++ b/xchart/src/main/java/org/knowm/xchart/internal/chartpart/Plot.java
@@ -61,9 +61,9 @@ public class Plot implements ChartPart {
     // calculate bounds
     double xOffset = chartPainter.getAxisPair().getYAxis().getBounds().getX()
 
-    + chartPainter.getAxisPair().getYAxis().getBounds().getWidth()
+        + chartPainter.getAxisPair().getYAxis().getBounds().getWidth()
 
-    + (chartPainter.getStyleManager().isYAxisTicksVisible() ? (chartPainter.getStyleManager().getPlotPadding()) : 0)
+        + (chartPainter.getStyleManager().isYAxisTicksVisible() ? (chartPainter.getStyleManager().getPlotPadding()) : 0)
 
     ;
 
@@ -76,10 +76,10 @@ public class Plot implements ChartPart {
 
     plotSurface.paint(g);
     if (getChartPainter().getStyleManager().getChartType() == ChartType.Bar) {
-      this.plotContent = new PlotContentBarChart(this);
+      this.plotContent = new PlotContentCategoricalChart(this);
     }
     else {
-      this.plotContent = new PlotContentLineChart(this);
+      this.plotContent = new PlotContentNumericalChart(this);
     }
     plotContent.paint(g);
 
diff --git a/xchart/src/main/java/org/knowm/xchart/internal/chartpart/PlotContentBarChart.java b/xchart/src/main/java/org/knowm/xchart/internal/chartpart/PlotContentCategoricalChart.java
similarity index 97%
rename from xchart/src/main/java/org/knowm/xchart/internal/chartpart/PlotContentBarChart.java
rename to xchart/src/main/java/org/knowm/xchart/internal/chartpart/PlotContentCategoricalChart.java
index 155db2fe..0579267d 100644
--- a/xchart/src/main/java/org/knowm/xchart/internal/chartpart/PlotContentBarChart.java
+++ b/xchart/src/main/java/org/knowm/xchart/internal/chartpart/PlotContentCategoricalChart.java
@@ -33,14 +33,14 @@ import org.knowm.xchart.internal.Utils;
 /**
  * @author timmolter
  */
-public class PlotContentBarChart extends PlotContent {
+public class PlotContentCategoricalChart extends PlotContent {
 
   /**
    * Constructor
    *
    * @param plot
    */
-  protected PlotContentBarChart(Plot plot) {
+  protected PlotContentCategoricalChart(Plot plot) {
 
     super(plot);
   }
@@ -78,8 +78,8 @@ public class PlotContentBarChart extends PlotContent {
     for (Series series : getChartPainter().getAxisPair().getSeriesMap().values()) {
 
       // for line series
-      double previousX = Integer.MIN_VALUE;
-      double previousY = Integer.MIN_VALUE;
+      double previousX = -Double.MAX_VALUE;
+      double previousY = -Double.MAX_VALUE;
 
       Collection<? extends Number> yData = series.getYData();
       double yMin = getChartPainter().getAxisPair().getYAxis().getMin();
@@ -225,7 +225,7 @@ public class PlotContentBarChart extends PlotContent {
           // paint line
           if (series.getStroke() != null) {
 
-            if (previousX != Integer.MIN_VALUE && previousY != Integer.MIN_VALUE) {
+            if (previousX != -Double.MAX_VALUE && previousY != -Double.MAX_VALUE) {
               g.setColor(series.getStrokeColor());
               g.setStroke(series.getStroke());
               Shape line = new Line2D.Double(previousX, previousY, xOffset + barWidth / 2, yOffset);
diff --git a/xchart/src/main/java/org/knowm/xchart/internal/chartpart/PlotContentLineChart.java b/xchart/src/main/java/org/knowm/xchart/internal/chartpart/PlotContentNumericalChart.java
similarity index 95%
rename from xchart/src/main/java/org/knowm/xchart/internal/chartpart/PlotContentLineChart.java
rename to xchart/src/main/java/org/knowm/xchart/internal/chartpart/PlotContentNumericalChart.java
index d496691c..e7573278 100644
--- a/xchart/src/main/java/org/knowm/xchart/internal/chartpart/PlotContentLineChart.java
+++ b/xchart/src/main/java/org/knowm/xchart/internal/chartpart/PlotContentNumericalChart.java
@@ -34,14 +34,14 @@ import org.knowm.xchart.internal.chartpart.Axis.AxisType;
 /**
  * @author timmolter
  */
-public class PlotContentLineChart extends PlotContent {
+public class PlotContentNumericalChart extends PlotContent {
 
   /**
    * Constructor
    *
    * @param plot
    */
-  protected PlotContentLineChart(Plot plot) {
+  protected PlotContentNumericalChart(Plot plot) {
 
     super(plot);
   }
@@ -120,8 +120,8 @@ public class PlotContentLineChart extends PlotContent {
         yMax = Math.log10(yMax);
       }
 
-      double previousX = Integer.MIN_VALUE;
-      double previousY = Integer.MIN_VALUE;
+      double previousX = -Double.MAX_VALUE;
+      double previousY = -Double.MAX_VALUE;
 
       Iterator<?> xItr = xData.iterator();
       Iterator<? extends Number> yItr = yData.iterator();
@@ -155,8 +155,8 @@ public class PlotContentLineChart extends PlotContent {
           closePath(g, path, previousX, bounds, yTopMargin);
           path = null;
 
-          previousX = Integer.MIN_VALUE;
-          previousY = Integer.MIN_VALUE;
+          previousX = -Double.MAX_VALUE;
+          previousY = -Double.MAX_VALUE;
           continue;
         }
 
@@ -196,7 +196,7 @@ public class PlotContentLineChart extends PlotContent {
 
           if (series.getStroke() != null) {
 
-            if (previousX != Integer.MIN_VALUE && previousY != Integer.MIN_VALUE) {
+            if (previousX != -Double.MAX_VALUE && previousY != -Double.MAX_VALUE) {
               g.setColor(series.getStrokeColor());
               g.setStroke(series.getStroke());
               Shape line = new Line2D.Double(previousX, previousY, xOffset, yOffset);
@@ -208,7 +208,7 @@ public class PlotContentLineChart extends PlotContent {
         // paint area
         if (Series.SeriesType.Area.equals(series.getSeriesType())) {
 
-          if (previousX != Integer.MIN_VALUE && previousY != Integer.MIN_VALUE) {
+          if (previousX != -Double.MAX_VALUE && previousY != -Double.MAX_VALUE) {
 
             g.setColor(series.getFillColor());
             double yBottomOfArea = bounds.getY() + bounds.getHeight() - yTopMargin;
diff --git a/xchart/src/main/java/org/knowm/xchart/internal/chartpart/PlotSurface.java b/xchart/src/main/java/org/knowm/xchart/internal/chartpart/PlotSurface.java
index b21d3226..784d6800 100644
--- a/xchart/src/main/java/org/knowm/xchart/internal/chartpart/PlotSurface.java
+++ b/xchart/src/main/java/org/knowm/xchart/internal/chartpart/PlotSurface.java
@@ -22,8 +22,6 @@ import java.awt.geom.Line2D;
 import java.awt.geom.Rectangle2D;
 import java.util.List;
 
-import org.knowm.xchart.StyleManager.ChartType;
-
 /**
  * Draws the plot background, the plot border and the horizontal and vertical grid lines
  *
@@ -68,12 +66,9 @@ public class PlotSurface implements ChartPart {
     }
 
     // paint grid lines and/or inner plot ticks
-    if (getChartPainter().getStyleManager().isPlotGridHorizontalLinesVisible() 
-	|| getChartPainter().getStyleManager().isPlotGridVerticalLinesVisible() 
-	|| getChartPainter().getStyleManager().isPlotTicksMarksVisible()
-	) {
 
-      // horizontal
+    // horizontal
+    if (getChartPainter().getStyleManager().isPlotGridHorizontalLinesVisible() || getChartPainter().getStyleManager().isPlotTicksMarksVisible()) {
       List<Double> yAxisTickLocations = getChartPainter().getAxisPair().getYAxis().getAxisTickCalculator().getTickLocations();
       for (int i = 0; i < yAxisTickLocations.size(); i++) {
 
@@ -102,43 +97,37 @@ public class PlotSurface implements ChartPart {
           }
         }
       }
+    }
 
-      // vertical
-      if (getChartPainter().getStyleManager().getChartType() != ChartType.Bar
-
-      && (getChartPainter().getStyleManager().isPlotGridVerticalLinesVisible()
-
-      || getChartPainter().getStyleManager().isPlotTicksMarksVisible())
-
-      ) {
+    // vertical
+    if (getChartPainter().getStyleManager().isPlotGridVerticalLinesVisible() || getChartPainter().getStyleManager().isPlotTicksMarksVisible()) {
 
-        List<Double> xAxisTickLocations = getChartPainter().getAxisPair().getXAxis().getAxisTickCalculator().getTickLocations();
-        for (int i = 0; i < xAxisTickLocations.size(); i++) {
+      List<Double> xAxisTickLocations = getChartPainter().getAxisPair().getXAxis().getAxisTickCalculator().getTickLocations();
+      for (int i = 0; i < xAxisTickLocations.size(); i++) {
 
-          double tickLocation = xAxisTickLocations.get(i);
-          double xOffset = bounds.getX() + tickLocation;
+        double tickLocation = xAxisTickLocations.get(i);
+        double xOffset = bounds.getX() + tickLocation;
 
-          if (xOffset > bounds.getX() && xOffset < bounds.getX() + bounds.getWidth()) {
+        if (xOffset > bounds.getX() && xOffset < bounds.getX() + bounds.getWidth()) {
 
-            // draw lines
-            if (getChartPainter().getStyleManager().isPlotGridVerticalLinesVisible()) {
-              g.setColor(getChartPainter().getStyleManager().getPlotGridLinesColor());
-              g.setStroke(getChartPainter().getStyleManager().getPlotGridLinesStroke());
+          // draw lines
+          if (getChartPainter().getStyleManager().isPlotGridVerticalLinesVisible()) {
+            g.setColor(getChartPainter().getStyleManager().getPlotGridLinesColor());
+            g.setStroke(getChartPainter().getStyleManager().getPlotGridLinesStroke());
 
-              Shape line = new Line2D.Double(xOffset, bounds.getY(), xOffset, bounds.getY() + bounds.getHeight());
-              g.draw(line);
-            }
-            // tick marks
-            if (getChartPainter().getStyleManager().isPlotTicksMarksVisible()) {
+            Shape line = new Line2D.Double(xOffset, bounds.getY(), xOffset, bounds.getY() + bounds.getHeight());
+            g.draw(line);
+          }
+          // tick marks
+          if (getChartPainter().getStyleManager().isPlotTicksMarksVisible()) {
 
-              g.setColor(getChartPainter().getStyleManager().getAxisTickMarksColor());
-              g.setStroke(getChartPainter().getStyleManager().getAxisTickMarksStroke());
+            g.setColor(getChartPainter().getStyleManager().getAxisTickMarksColor());
+            g.setStroke(getChartPainter().getStyleManager().getAxisTickMarksStroke());
 
-              Shape line = new Line2D.Double(xOffset, bounds.getY(), xOffset, bounds.getY() + getChartPainter().getStyleManager().getAxisTickMarkLength());
-              g.draw(line);
-              line = new Line2D.Double(xOffset, bounds.getY() + bounds.getHeight(), xOffset, bounds.getY() + bounds.getHeight() - getChartPainter().getStyleManager().getAxisTickMarkLength());
-              g.draw(line);
-            }
+            Shape line = new Line2D.Double(xOffset, bounds.getY(), xOffset, bounds.getY() + getChartPainter().getStyleManager().getAxisTickMarkLength());
+            g.draw(line);
+            line = new Line2D.Double(xOffset, bounds.getY() + bounds.getHeight(), xOffset, bounds.getY() + bounds.getHeight() - getChartPainter().getStyleManager().getAxisTickMarkLength());
+            g.draw(line);
           }
         }
       }
-- 
GitLab