diff --git a/etc/XChart_Chart_Customization.png b/etc/XChart_Chart_Customization.png
index 97a0ec81878a78e83fc029a3800e19a0fab860e7..6f780e655e177eded377cb4a4988cfdb2a8fefcc 100644
Binary files a/etc/XChart_Chart_Customization.png and b/etc/XChart_Chart_Customization.png differ
diff --git a/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/area/AreaChart01.java b/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/area/AreaChart01.java
index 040d33c4f1e9914a9a4868f33597ae5660c5ae07..fa03ae00eaf3e109bb96f4eeda09c89cd3441fd1 100644
--- a/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/area/AreaChart01.java
+++ b/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/area/AreaChart01.java
@@ -51,7 +51,7 @@ public class AreaChart01 implements ExampleChart {
     // Customize Chart
     chart.getStyler().setLegendPosition(LegendPosition.InsideNE);
     chart.getStyler().setAxisTitlesVisible(false);
-    chart.getStyler().setChartXYSeriesRenderStyle(ChartXYSeriesRenderStyle.Area);
+    chart.getStyler().setDefaultSeriesRenderStyle(ChartXYSeriesRenderStyle.Area);
 
     // Series
     chart.addSeries("a", new double[] { 0, 3, 5, 7, 9 }, new double[] { -3, 5, 9, 6, 5 });
diff --git a/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/area/AreaChart02.java b/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/area/AreaChart02.java
index 5c2eb617ecbd0a873ed71296faff23bfa569af0e..1cb6892780c2e949eef0a6cc53255887354a6ba0 100644
--- a/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/area/AreaChart02.java
+++ b/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/area/AreaChart02.java
@@ -52,7 +52,7 @@ public class AreaChart02 implements ExampleChart {
     Chart_XY chart = new ChartBuilder_XY().width(800).height(600).title(getClass().getSimpleName()).xAxisTitle("X").yAxisTitle("Y").build();
 
     // Customize Chart
-    chart.getStyler().setChartXYSeriesRenderStyle(ChartXYSeriesRenderStyle.Area);
+    chart.getStyler().setDefaultSeriesRenderStyle(ChartXYSeriesRenderStyle.Area);
     chart.getStyler().setLegendPosition(LegendPosition.InsideNW);
 
     // Series
diff --git a/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/area/AreaLineChart03.java b/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/area/AreaLineChart03.java
index 6867969c09c8638e50df1d0a775632e33532594c..6936dba72c3495b6f6176189b4b9c3fb205b6029 100644
--- a/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/area/AreaLineChart03.java
+++ b/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/area/AreaLineChart03.java
@@ -16,6 +16,7 @@
  */
 package org.knowm.xchart.demo.charts.area;
 
+import org.knowm.xchart.ChartBuilder_XY;
 import org.knowm.xchart.Chart_XY;
 import org.knowm.xchart.Series_XY;
 import org.knowm.xchart.Series_XY.ChartXYSeriesRenderStyle;
@@ -48,14 +49,11 @@ public class AreaLineChart03 implements ExampleChart {
   public Chart getChart() {
 
     // Create Chart
-    Chart_XY chart = new Chart_XY(800, 600);
+    Chart_XY chart = new ChartBuilder_XY().width(800).height(600).title(getClass().getSimpleName()).xAxisTitle("Age").yAxisTitle("Amount").build();
 
     // Customize Chart
-    chart.setTitle(getClass().getSimpleName());
-    chart.setXAxisTitle("Age");
-    chart.setYAxisTitle("Amount");
     chart.getStyler().setLegendPosition(LegendPosition.InsideNW);
-    chart.getStyler().setChartXYSeriesRenderStyle(ChartXYSeriesRenderStyle.Line);
+    chart.getStyler().setDefaultSeriesRenderStyle(ChartXYSeriesRenderStyle.Line);
     chart.getStyler().setYAxisLabelAlignment(Styler.TextAlignment.Right);
     chart.getStyler().setYAxisDecimalPattern("$ #,###.##");
     chart.getStyler().setPlotMargin(0);
diff --git a/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/bar/BarChart02.java b/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/bar/BarChart02.java
index e62f8362b0654ce990efe5a988eb8ce2c7fcccd6..e0089f9bb0ee4ad396c1750844ecdf52ec8ddeb3 100644
--- a/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/bar/BarChart02.java
+++ b/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/bar/BarChart02.java
@@ -16,6 +16,7 @@
  */
 package org.knowm.xchart.demo.charts.bar;
 
+import java.awt.Color;
 import java.text.DateFormat;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
@@ -62,7 +63,6 @@ public class BarChart02 implements ExampleChart {
 
     // Customize Chart
     chart.getStyler().setPlotGridLinesVisible(false);
-    chart.getStyler().setBarFilled(false);
     chart.getStyler().setDatePattern("YYYY");
 
     // Series
@@ -83,6 +83,7 @@ public class BarChart02 implements ExampleChart {
     }
     Series_Category series = chart.addSeries("Model 77", xData, yData);
     series.setLineColor(MatlabSeriesColors.RED);
+    series.setFillColor(new Color(230, 150, 150));
 
     return chart;
   }
diff --git a/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/date/DateChart02.java b/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/date/DateChart02.java
index fa88b5a415c1a91f6ac1e9b8c9f0c43c7e86f2b4..c4e6333fc5af97459e550436d0060738c09ee8f6 100644
--- a/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/date/DateChart02.java
+++ b/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/date/DateChart02.java
@@ -26,6 +26,7 @@ import java.util.Random;
 
 import org.knowm.xchart.ChartBuilder_XY;
 import org.knowm.xchart.Chart_XY;
+import org.knowm.xchart.Series_XY.ChartXYSeriesRenderStyle;
 import org.knowm.xchart.SwingWrapper;
 import org.knowm.xchart.demo.charts.ExampleChart;
 import org.knowm.xchart.internal.chartpart.Chart;
@@ -50,6 +51,7 @@ public class DateChart02 implements ExampleChart {
 
     // Customize Chart
     chart.getStyler().setLegendVisible(false);
+    chart.getStyler().setDefaultSeriesRenderStyle(ChartXYSeriesRenderStyle.Area);
 
     // Series
     List<Date> xData = new ArrayList<Date>();
diff --git a/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/line/LineChart07.java b/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/line/LineChart07.java
index c317486d65935f704ebc5cf8314c8ed5d658ea13..6160782d4098dd19a5411bc53ed9319075cfa1e7 100644
--- a/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/line/LineChart07.java
+++ b/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/line/LineChart07.java
@@ -55,7 +55,7 @@ public class LineChart07 implements ExampleChart {
     Chart_Category chart = new ChartBuilder_Category().width(800).height(600).theme(ChartTheme.GGPlot2).title("ThreadPool Benchmark").xAxisTitle("Threads").yAxisTitle("Executions").build();
 
     // Customize Chart
-    chart.getStyler().setChartCategorySeriesRenderStyle(ChartCategorySeriesRenderStyle.Line);
+    chart.getStyler().setDefaultSeriesRenderStyle(ChartCategorySeriesRenderStyle.Line);
     chart.getStyler().setXAxisLabelRotation(270);
     chart.getStyler().setLegendPosition(LegendPosition.OutsideE);
     chart.getStyler().setBarWidthPercentage(0);
diff --git a/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/scatter/ScatterChart01.java b/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/scatter/ScatterChart01.java
index 4fbf6b27204adc79789c1010a25578ebe96feff2..8b8967341ed990c3bf48f4d566b58874d446714b 100644
--- a/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/scatter/ScatterChart01.java
+++ b/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/scatter/ScatterChart01.java
@@ -63,7 +63,7 @@ public class ScatterChart01 implements ExampleChart {
     Chart_XY chart = new ChartBuilder_XY().width(800).height(600).build();
 
     // Customize Chart
-    chart.getStyler().setChartXYSeriesRenderStyle(ChartXYSeriesRenderStyle.Scatter);
+    chart.getStyler().setDefaultSeriesRenderStyle(ChartXYSeriesRenderStyle.Scatter);
     chart.getStyler().setChartTitleVisible(false);
     chart.getStyler().setLegendPosition(LegendPosition.InsideSW);
     chart.getStyler().setMarkerSize(16);
diff --git a/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/scatter/ScatterChart02.java b/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/scatter/ScatterChart02.java
index 0713fbc7f96373e591afec8f07976254eb85c2bb..efac03e45815d0a2857f78cc2f389137df93c739 100644
--- a/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/scatter/ScatterChart02.java
+++ b/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/scatter/ScatterChart02.java
@@ -66,7 +66,7 @@ public class ScatterChart02 implements ExampleChart {
     Chart_XY chart = new ChartBuilder_XY().width(800).height(600).title("Logarithmic Data").build();
 
     // Customize Chart
-    chart.getStyler().setChartXYSeriesRenderStyle(ChartXYSeriesRenderStyle.Scatter);
+    chart.getStyler().setDefaultSeriesRenderStyle(ChartXYSeriesRenderStyle.Scatter);
     chart.getStyler().setXAxisLogarithmic(true);
     chart.getStyler().setLegendPosition(LegendPosition.InsideN);
 
diff --git a/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/stick/StickChart01.java b/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/stick/StickChart01.java
index b9c2c637005829800ee674352f663a2cb00a1a73..a46012ff2fd22622e22aefa4557dd489fc404da2 100644
--- a/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/stick/StickChart01.java
+++ b/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/stick/StickChart01.java
@@ -51,7 +51,7 @@ public class StickChart01 implements ExampleChart {
     // Customize Chart
     chart.getStyler().setChartTitleVisible(true);
     chart.getStyler().setLegendPosition(LegendPosition.InsideNW);
-    chart.getStyler().setChartCategorySeriesRenderStyle(ChartCategorySeriesRenderStyle.Stick);
+    chart.getStyler().setDefaultSeriesRenderStyle(ChartCategorySeriesRenderStyle.Stick);
 
     // Series
     List<Integer> xData = new ArrayList<Integer>();
diff --git a/xchart/src/main/java/org/knowm/xchart/Chart_Category.java b/xchart/src/main/java/org/knowm/xchart/Chart_Category.java
index 938746d4900798aae85def748ecbbcf1882903fd..f4f81873720c14ecad6e15616a5324ef40505abd 100644
--- a/xchart/src/main/java/org/knowm/xchart/Chart_Category.java
+++ b/xchart/src/main/java/org/knowm/xchart/Chart_Category.java
@@ -236,7 +236,7 @@ public class Chart_Category extends Chart<Styler_Category, Series_Category> {
     for (Series_Category seriesCategory : getSeriesMap().values()) {
       Series_Category.ChartCategorySeriesRenderStyle seriesType = seriesCategory.getChartCategorySeriesRenderStyle(); // would be directly set
       if (seriesType == null) { // wasn't overridden, use default from Style Manager
-        seriesCategory.setChartCategorySeriesRenderStyle(getStyler().getChartCategorySeriesRenderStyle());
+        seriesCategory.setChartCategorySeriesRenderStyle(getStyler().getDefaultSeriesRenderStyle());
       }
     }
     setSeriesStyles();
diff --git a/xchart/src/main/java/org/knowm/xchart/Chart_Pie.java b/xchart/src/main/java/org/knowm/xchart/Chart_Pie.java
index 26bb75fb8c456983a135af21db9fc79bcfbd1b0d..cacb54eda1c72355f2c4239572597b3f544d07fb 100644
--- a/xchart/src/main/java/org/knowm/xchart/Chart_Pie.java
+++ b/xchart/src/main/java/org/knowm/xchart/Chart_Pie.java
@@ -123,7 +123,7 @@ public class Chart_Pie extends Chart<Styler_Pie, Series_Pie> {
     for (Series_Pie seriesPie : getSeriesMap().values()) {
       Series_Pie.ChartPieSeriesRenderStyle seriesType = seriesPie.getChartPieSeriesRenderStyle(); // would be directly set
       if (seriesType == null) { // wasn't overridden, use default from Style Manager
-        seriesPie.setChartPieSeriesRenderStyle(getStyler().getChartPieSeriesRenderStyle());
+        seriesPie.setChartPieSeriesRenderStyle(getStyler().getDefaultSeriesRenderStyle());
       }
     }
     setSeriesStyles();
diff --git a/xchart/src/main/java/org/knowm/xchart/Chart_XY.java b/xchart/src/main/java/org/knowm/xchart/Chart_XY.java
index 127b329182c09e6b7c9d61112f856bf0e14ffc92..7299be23e96d6629207550016be899d0392bfcf5 100644
--- a/xchart/src/main/java/org/knowm/xchart/Chart_XY.java
+++ b/xchart/src/main/java/org/knowm/xchart/Chart_XY.java
@@ -236,7 +236,7 @@ public class Chart_XY extends Chart<Styler_XY, Series_XY> {
     for (Series_XY seriesXY : getSeriesMap().values()) {
       Series_XY.ChartXYSeriesRenderStyle chartXYSeriesRenderStyle = seriesXY.getChartXYSeriesRenderStyle(); // would be directly set
       if (chartXYSeriesRenderStyle == null) { // wasn't overridden, use default from Style Manager
-        seriesXY.setChartXYSeriesRenderStyle(getStyler().getChartXYSeriesRenderStyle());
+        seriesXY.setChartXYSeriesRenderStyle(getStyler().getDefaultSeriesRenderStyle());
       }
     }
     setSeriesStyles();
diff --git a/xchart/src/main/java/org/knowm/xchart/Series_XY.java b/xchart/src/main/java/org/knowm/xchart/Series_XY.java
index 9cb871d3add7bb6856017322307ae7f7ae758225..44b35b6791e92f76e841f4821ba6bdf5cdb04f23 100644
--- a/xchart/src/main/java/org/knowm/xchart/Series_XY.java
+++ b/xchart/src/main/java/org/knowm/xchart/Series_XY.java
@@ -20,8 +20,8 @@ import java.util.Date;
 import java.util.Iterator;
 import java.util.List;
 
-import org.knowm.xchart.internal.chartpart.Axis.AxisDataType;
 import org.knowm.xchart.internal.Series_AxesChart;
+import org.knowm.xchart.internal.chartpart.Axis.AxisDataType;
 import org.knowm.xchart.internal.chartpart.RenderableSeries;
 import org.knowm.xchart.internal.chartpart.RenderableSeries.LegendRenderType;
 
@@ -34,7 +34,11 @@ public class Series_XY extends Series_AxesChart {
 
   public enum ChartXYSeriesRenderStyle implements RenderableSeries {
 
-    Line(LegendRenderType.Line), Scatter(LegendRenderType.Scatter), Area(LegendRenderType.Line);
+    Line(LegendRenderType.Line),
+
+    Area(LegendRenderType.Line),
+
+    Scatter(LegendRenderType.Scatter);
 
     private final LegendRenderType legendRenderType;
 
diff --git a/xchart/src/main/java/org/knowm/xchart/Styler_Category.java b/xchart/src/main/java/org/knowm/xchart/Styler_Category.java
index a5a0bd0c92124edabe4eb2ab4c7685042ff46c3b..b7a718f73eb2ef9c76f6d5131adbe67a061b4b34 100644
--- a/xchart/src/main/java/org/knowm/xchart/Styler_Category.java
+++ b/xchart/src/main/java/org/knowm/xchart/Styler_Category.java
@@ -27,6 +27,10 @@ public class Styler_Category extends Styler_AxesChart {
 
   private ChartCategorySeriesRenderStyle chartCategorySeriesRenderStyle;
 
+  // Bar Charts ///////////////////////////////
+  private double barWidthPercentage;
+  private boolean isBarsOverlapped;
+
   /**
    * Constructor
    */
@@ -40,9 +44,13 @@ public class Styler_Category extends Styler_AxesChart {
   protected void setAllStyles() {
 
     this.chartCategorySeriesRenderStyle = ChartCategorySeriesRenderStyle.Bar; // set default to bar
+
+    // Bar Charts ///////////////////////////////
+    barWidthPercentage = theme.getBarWidthPercentage();
+    isBarsOverlapped = theme.isBarsOverlapped();
   }
 
-  public ChartCategorySeriesRenderStyle getChartCategorySeriesRenderStyle() {
+  public ChartCategorySeriesRenderStyle getDefaultSeriesRenderStyle() {
 
     return chartCategorySeriesRenderStyle;
   }
@@ -52,11 +60,43 @@ public class Styler_Category extends Styler_AxesChart {
    *
    * @param chartCategorySeriesRenderStyle
    */
-  public void setChartCategorySeriesRenderStyle(ChartCategorySeriesRenderStyle chartCategorySeriesRenderStyle) {
+  public void setDefaultSeriesRenderStyle(ChartCategorySeriesRenderStyle chartCategorySeriesRenderStyle) {
 
     this.chartCategorySeriesRenderStyle = chartCategorySeriesRenderStyle;
   }
 
+  // Bar Charts ///////////////////////////////
+
+  /**
+   * set the width of a single bar in a bar chart. full width is 100%, i.e. 1.0
+   *
+   * @param barWidthPercentage
+   */
+  public void setBarWidthPercentage(double barWidthPercentage) {
+
+    this.barWidthPercentage = barWidthPercentage;
+  }
+
+  public double getBarWidthPercentage() {
+
+    return barWidthPercentage;
+  }
+
+  /**
+   * set whether or no bars are overlapped. Otherwise they are places side-by-side
+   *
+   * @param isBarsOverlapped
+   */
+  public void setBarsOverlapped(boolean isBarsOverlapped) {
+
+    this.isBarsOverlapped = isBarsOverlapped;
+  }
+
+  public boolean isBarsOverlapped() {
+
+    return isBarsOverlapped;
+  }
+
   /**
    * Set the theme the styler should use
    *
diff --git a/xchart/src/main/java/org/knowm/xchart/Styler_Pie.java b/xchart/src/main/java/org/knowm/xchart/Styler_Pie.java
index 8e0acb807f6dd6c1a5284c1ddf6ef558f094461e..46e8ccdb0749403ffcf70fbcc502e377acfacf3d 100644
--- a/xchart/src/main/java/org/knowm/xchart/Styler_Pie.java
+++ b/xchart/src/main/java/org/knowm/xchart/Styler_Pie.java
@@ -59,7 +59,7 @@ public class Styler_Pie extends Styler {
     annotationType = theme.getAnnotationType();
   }
 
-  public ChartPieSeriesRenderStyle getChartPieSeriesRenderStyle() {
+  public ChartPieSeriesRenderStyle getDefaultSeriesRenderStyle() {
 
     return chartPieSeriesRenderStyle;
   }
@@ -69,7 +69,7 @@ public class Styler_Pie extends Styler {
    *
    * @param chartPieSeriesRenderStyle
    */
-  public void setChartPieSeriesRenderStyle(ChartPieSeriesRenderStyle chartPieSeriesRenderStyle) {
+  public void setDefaultSeriesRenderStyle(ChartPieSeriesRenderStyle chartPieSeriesRenderStyle) {
 
     this.chartPieSeriesRenderStyle = chartPieSeriesRenderStyle;
   }
diff --git a/xchart/src/main/java/org/knowm/xchart/Styler_XY.java b/xchart/src/main/java/org/knowm/xchart/Styler_XY.java
index d000c37e145b0f94b2534516c1d381220d92d395..aaea3b2aaea9c36e13dc8eed472073e950d55cee 100644
--- a/xchart/src/main/java/org/knowm/xchart/Styler_XY.java
+++ b/xchart/src/main/java/org/knowm/xchart/Styler_XY.java
@@ -42,7 +42,7 @@ public class Styler_XY extends Styler_AxesChart {
     chartXYSeriesRenderStyle = ChartXYSeriesRenderStyle.Line; // set default to line
   }
 
-  public ChartXYSeriesRenderStyle getChartXYSeriesRenderStyle() {
+  public ChartXYSeriesRenderStyle getDefaultSeriesRenderStyle() {
 
     return chartXYSeriesRenderStyle;
   }
@@ -52,7 +52,7 @@ public class Styler_XY extends Styler_AxesChart {
    *
    * @param chartXYSeriesRenderStyle
    */
-  public void setChartXYSeriesRenderStyle(ChartXYSeriesRenderStyle chartXYSeriesRenderStyle) {
+  public void setDefaultSeriesRenderStyle(ChartXYSeriesRenderStyle chartXYSeriesRenderStyle) {
 
     this.chartXYSeriesRenderStyle = chartXYSeriesRenderStyle;
   }
diff --git a/xchart/src/main/java/org/knowm/xchart/internal/Series_AxesChart.java b/xchart/src/main/java/org/knowm/xchart/internal/Series_AxesChart.java
index 02a9900d329e6385bee168b83959ce95916f384b..bad3784bbc1e97464d908fa02badfc67ea10f0c9 100644
--- a/xchart/src/main/java/org/knowm/xchart/internal/Series_AxesChart.java
+++ b/xchart/src/main/java/org/knowm/xchart/internal/Series_AxesChart.java
@@ -59,7 +59,7 @@ public abstract class Series_AxesChart extends Series {
   private BasicStroke stroke;
 
   /** Line Color */
-  private Color strokeColor;
+  private Color lineColor;
 
   /** Marker Style */
   private Marker marker;
@@ -213,7 +213,7 @@ public abstract class Series_AxesChart extends Series {
    */
   public Series setLineColor(java.awt.Color color) {
 
-    strokeColor = color;
+    this.lineColor = color;
     return this;
   }
 
@@ -296,7 +296,7 @@ public abstract class Series_AxesChart extends Series {
 
   public Color getLineColor() {
 
-    return strokeColor;
+    return lineColor;
   }
 
   public Color getMarkerColor() {
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 5c3d625cb5e9c54d151374f5714c0afcf6a3c95e..cc6d4c65613315a03306c80941a2c361a7f0b2b6 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
@@ -112,7 +112,7 @@ public class AxisPair<ST extends Styler_AxesChart, S extends Series> implements
     if (chart.getStyler() instanceof Styler_Category) {
 
       Styler_Category stylerCategory = (Styler_Category) chart.getStyler();
-      if (stylerCategory.getChartCategorySeriesRenderStyle() == ChartCategorySeriesRenderStyle.Bar) {
+      if (stylerCategory.getDefaultSeriesRenderStyle() == ChartCategorySeriesRenderStyle.Bar) {
         // override min/max value for bar charts' Y-Axis
         // There is a special case where it's desired to anchor the axis min or max to zero, like in the case of bar charts. This flag enables that feature.
         if (yAxis.getMin() > 0.0) {
diff --git a/xchart/src/main/java/org/knowm/xchart/internal/chartpart/AxisTickCalculator_Number.java b/xchart/src/main/java/org/knowm/xchart/internal/chartpart/AxisTickCalculator_Number.java
index 18e04ce5f1a421e92ba22f14f8e5aaada3d98b28..680fc4947939798eb877d3abe2ce10633ce270d7 100644
--- a/xchart/src/main/java/org/knowm/xchart/internal/chartpart/AxisTickCalculator_Number.java
+++ b/xchart/src/main/java/org/knowm/xchart/internal/chartpart/AxisTickCalculator_Number.java
@@ -143,6 +143,8 @@ public class AxisTickCalculator_Number extends AxisTickCalculator_ {
       try {
         firstPosition = BigDecimal.valueOf(getFirstPosition(cleanedGridStep.doubleValue()));
       } catch (java.lang.NumberFormatException e) {
+        System.out.println("exponent: " + exponent);
+        System.out.println("gridStep: " + gridStep);
         System.out.println("cleanedGridStep: " + cleanedGridStep);
         System.out.println("cleanedGridStep.doubleValue(): " + cleanedGridStep.doubleValue());
         System.out.println("NumberFormatException caused by this number: " + getFirstPosition(cleanedGridStep.doubleValue()));
diff --git a/xchart/src/main/java/org/knowm/xchart/internal/chartpart/Legend_AxesChart.java b/xchart/src/main/java/org/knowm/xchart/internal/chartpart/Legend_AxesChart.java
index 9f05f7b8266c6dde58115812f0fded6d882e24c6..6393214c94d17e0de2a064be6dc2ae3c89852e9e 100644
--- a/xchart/src/main/java/org/knowm/xchart/internal/chartpart/Legend_AxesChart.java
+++ b/xchart/src/main/java/org/knowm/xchart/internal/chartpart/Legend_AxesChart.java
@@ -115,13 +115,11 @@ public class Legend_AxesChart<ST extends Styler_AxesChart, S extends Series> ext
 
         // paint little box
         Shape rectSmall = new Rectangle2D.Double(startx, starty, BOX_SIZE, BOX_SIZE);
-        if (stylerAxesChart.isBarFilled()) {
-          g.setColor(series.getFillColor());
-          g.fill(rectSmall);
-        }
-
-        g.setColor(series.getLineColor());
-        g.draw(rectSmall);
+        // g.setStroke(series.getLineStyle());
+        // g.setColor(series.getLineColor());
+        // g.draw(rectSmall);
+        g.setColor(series.getFillColor());
+        g.fill(rectSmall);
         // // debug box
         // Rectangle2D boundsTemp = new Rectangle2D.Double(startx, starty, BOX_SIZE, BOX_SIZE);
         // g.setStroke(new BasicStroke(1, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL));
diff --git a/xchart/src/main/java/org/knowm/xchart/internal/chartpart/PlotContent_Category_Bar.java b/xchart/src/main/java/org/knowm/xchart/internal/chartpart/PlotContent_Category_Bar.java
index 2364f2fcc473cd5d00018fca4cef21bc8ee858b1..3274d268c30d9eabe01e0bec306d5d3fdab04d95 100644
--- a/xchart/src/main/java/org/knowm/xchart/internal/chartpart/PlotContent_Category_Bar.java
+++ b/xchart/src/main/java/org/knowm/xchart/internal/chartpart/PlotContent_Category_Bar.java
@@ -194,21 +194,20 @@ public class PlotContent_Category_Bar<ST extends Styler, S extends Series> exten
 
         // paint series
         if (series.getChartCategorySeriesRenderStyle() == ChartCategorySeriesRenderStyle.Bar) {
+
           // paint bar
-          g.setColor(series.getLineColor());
           Path2D.Double path = new Path2D.Double();
           path.moveTo(xOffset, yOffset);
           path.lineTo(xOffset + barWidth, yOffset);
           path.lineTo(xOffset + barWidth, zeroOffset);
           path.lineTo(xOffset, zeroOffset);
           path.closePath();
-          g.setStroke(series.getLineStyle());
-          if (stylerCategory.isBarFilled()) {
-            g.fill(path);
-          }
-          else {
-            g.draw(path);
-          }
+
+          // g.setStroke(series.getLineStyle());
+          // g.setColor(series.getLineColor());
+          // g.draw(path);
+          g.setColor(series.getFillColor());
+          g.fill(path);
         }
         else if (ChartCategorySeriesRenderStyle.Stick.equals(series.getChartCategorySeriesRenderStyle())) {
 
diff --git a/xchart/src/main/java/org/knowm/xchart/internal/chartpart/Plot_Category.java b/xchart/src/main/java/org/knowm/xchart/internal/chartpart/Plot_Category.java
index e90da768b00942c7c36381918a9956875578e7a7..b6cbe5574f0798eb911131bed5ff8c3f9360188f 100644
--- a/xchart/src/main/java/org/knowm/xchart/internal/chartpart/Plot_Category.java
+++ b/xchart/src/main/java/org/knowm/xchart/internal/chartpart/Plot_Category.java
@@ -45,8 +45,8 @@ public class Plot_Category<ST extends Styler_AxesChart, S extends Series> extend
   @Override
   public void paint(Graphics2D g) {
 
-    if (ChartCategorySeriesRenderStyle.Bar.equals(stylerCategory.getChartCategorySeriesRenderStyle()) || ChartCategorySeriesRenderStyle.Stick.equals(stylerCategory
-        .getChartCategorySeriesRenderStyle())) {
+    if (ChartCategorySeriesRenderStyle.Bar.equals(stylerCategory.getDefaultSeriesRenderStyle()) || ChartCategorySeriesRenderStyle.Stick.equals(stylerCategory
+        .getDefaultSeriesRenderStyle())) {
 
       this.plotContent = new PlotContent_Category_Bar<Styler_Category, Series_Category>(chart);
     }
diff --git a/xchart/src/main/java/org/knowm/xchart/internal/style/Styler_AxesChart.java b/xchart/src/main/java/org/knowm/xchart/internal/style/Styler_AxesChart.java
index 4acada06ea4e4da28e277d35a80654e8e46ed28b..2ff67a4b9ed72e51c99460911102c0036bf34c95 100644
--- a/xchart/src/main/java/org/knowm/xchart/internal/style/Styler_AxesChart.java
+++ b/xchart/src/main/java/org/knowm/xchart/internal/style/Styler_AxesChart.java
@@ -62,11 +62,6 @@ public abstract class Styler_AxesChart extends Styler {
   private Color plotGridLinesColor;
   private Stroke plotGridLinesStroke;
 
-  // Bar Charts ///////////////////////////////
-  private double barWidthPercentage;
-  private boolean isBarsOverlapped;
-  private boolean isBarFilled;
-
   // Line, Scatter, Area Charts ///////////////////////////////
   private int markerSize;
 
@@ -119,11 +114,6 @@ public abstract class Styler_AxesChart extends Styler {
     plotGridLinesColor = theme.getPlotGridLinesColor();
     plotGridLinesStroke = theme.getPlotGridLinesStroke();
 
-    // Bar Charts ///////////////////////////////
-    barWidthPercentage = theme.getBarWidthPercentage();
-    isBarsOverlapped = theme.isBarsOverlapped();
-    isBarFilled = theme.isBarFilled();
-
     // Line, Scatter, Area Charts ///////////////////////////////
     markerSize = theme.getMarkerSize();
 
@@ -162,7 +152,6 @@ public abstract class Styler_AxesChart extends Styler {
    *
    * @param isVisible
    */
-
   public void setYAxisTitleVisible(boolean yAxisTitleVisible) {
 
     this.yAxisTitleVisible = yAxisTitleVisible;
@@ -178,7 +167,6 @@ public abstract class Styler_AxesChart extends Styler {
    *
    * @param isVisible
    */
-
   public void setAxisTitlesVisible(boolean isVisible) {
 
     this.xAxisTitleVisible = isVisible;
@@ -190,7 +178,6 @@ public abstract class Styler_AxesChart extends Styler {
    *
    * @param axisTitleFont
    */
-
   public void setAxisTitleFont(Font axisTitleFont) {
 
     this.axisTitleFont = axisTitleFont;
@@ -206,7 +193,6 @@ public abstract class Styler_AxesChart extends Styler {
    *
    * @param isVisible
    */
-
   public void setXAxisTicksVisible(boolean xAxisTicksVisible) {
 
     this.xAxisTicksVisible = xAxisTicksVisible;
@@ -222,7 +208,6 @@ public abstract class Styler_AxesChart extends Styler {
    *
    * @param isVisible
    */
-
   public void setYAxisTicksVisible(boolean yAxisTicksVisible) {
 
     this.yAxisTicksVisible = yAxisTicksVisible;
@@ -238,7 +223,6 @@ public abstract class Styler_AxesChart extends Styler {
    *
    * @param isVisible
    */
-
   public void setAxisTicksVisible(boolean isVisible) {
 
     this.xAxisTicksVisible = isVisible;
@@ -250,7 +234,6 @@ public abstract class Styler_AxesChart extends Styler {
    *
    * @param axisTicksFont
    */
-
   public void setAxisTickLabelsFont(Font axisTicksFont) {
 
     this.axisTickLabelsFont = axisTicksFont;
@@ -266,7 +249,6 @@ public abstract class Styler_AxesChart extends Styler {
    *
    * @param axisTickMarkLength
    */
-
   public void setAxisTickMarkLength(int axisTickMarkLength) {
 
     this.axisTickMarkLength = axisTickMarkLength;
@@ -297,7 +279,6 @@ public abstract class Styler_AxesChart extends Styler {
    *
    * @param axisTickColor
    */
-
   public void setAxisTickMarksColor(Color axisTickColor) {
 
     this.axisTickMarksColor = axisTickColor;
@@ -313,7 +294,6 @@ public abstract class Styler_AxesChart extends Styler {
    *
    * @param axisTickMarksStroke
    */
-
   public void setAxisTickMarksStroke(Stroke axisTickMarksStroke) {
 
     this.axisTickMarksStroke = axisTickMarksStroke;
@@ -329,7 +309,6 @@ public abstract class Styler_AxesChart extends Styler {
    *
    * @param axisTickLabelsColor
    */
-
   public void setAxisTickLabelsColor(Color axisTickLabelsColor) {
 
     this.axisTickLabelsColor = axisTickLabelsColor;
@@ -345,7 +324,6 @@ public abstract class Styler_AxesChart extends Styler {
    *
    * @param isAxisTicksLineVisible
    */
-
   public void setAxisTicksLineVisible(boolean isAxisTicksLineVisible) {
 
     this.isAxisTicksLineVisible = isAxisTicksLineVisible;
@@ -361,7 +339,6 @@ public abstract class Styler_AxesChart extends Styler {
    *
    * @param isAxisTicksMarksVisible
    */
-
   public void setAxisTicksMarksVisible(boolean isAxisTicksMarksVisible) {
 
     this.isAxisTicksMarksVisible = isAxisTicksMarksVisible;
@@ -377,7 +354,6 @@ public abstract class Styler_AxesChart extends Styler {
    *
    * @param plotMargin
    */
-
   public void setPlotMargin(int plotMargin) {
 
     this.plotMargin = plotMargin;
@@ -393,7 +369,6 @@ public abstract class Styler_AxesChart extends Styler {
    *
    * @param axisTitlePadding
    */
-
   public void setAxisTitlePadding(int axisTitlePadding) {
 
     this.axisTitlePadding = axisTitlePadding;
@@ -409,7 +384,6 @@ public abstract class Styler_AxesChart extends Styler {
    *
    * @param xAxisTickMarkSpacingHint
    */
-
   public void setXAxisTickMarkSpacingHint(int xAxisTickMarkSpacingHint) {
 
     this.xAxisTickMarkSpacingHint = xAxisTickMarkSpacingHint;
@@ -425,7 +399,6 @@ public abstract class Styler_AxesChart extends Styler {
    *
    * @param xAxisTickMarkSpacingHint
    */
-
   public void setYAxisTickMarkSpacingHint(int yAxisTickMarkSpacingHint) {
 
     this.yAxisTickMarkSpacingHint = yAxisTickMarkSpacingHint;
@@ -441,7 +414,6 @@ public abstract class Styler_AxesChart extends Styler {
    *
    * @param isxAxisLogarithmic
    */
-
   public void setXAxisLogarithmic(boolean isXAxisLogarithmic) {
 
     this.isXAxisLogarithmic = isXAxisLogarithmic;
@@ -457,7 +429,6 @@ public abstract class Styler_AxesChart extends Styler {
    *
    * @param isyAxisLogarithmic
    */
-
   public void setYAxisLogarithmic(boolean isYAxisLogarithmic) {
 
     this.isYAxisLogarithmic = isYAxisLogarithmic;
@@ -545,7 +516,6 @@ public abstract class Styler_AxesChart extends Styler {
    *
    * @param isPlotGridLinesVisible
    */
-
   public void setPlotGridLinesVisible(boolean isPlotGridLinesVisible) {
 
     this.isPlotGridHorizontalLinesVisible = isPlotGridLinesVisible;
@@ -562,7 +532,6 @@ public abstract class Styler_AxesChart extends Styler {
    *
    * @param isPlotGridLinesVisible
    */
-
   public void setPlotGridHorizontalLinesVisible(boolean isPlotGridHorizontalLinesVisible) {
 
     this.isPlotGridHorizontalLinesVisible = isPlotGridHorizontalLinesVisible;
@@ -578,7 +547,6 @@ public abstract class Styler_AxesChart extends Styler {
    *
    * @param isPlotGridLinesVisible
    */
-
   public void setPlotGridVerticalLinesVisible(boolean isPlotGridVerticalLinesVisible) {
 
     this.isPlotGridVerticalLinesVisible = isPlotGridVerticalLinesVisible;
@@ -594,7 +562,6 @@ public abstract class Styler_AxesChart extends Styler {
    *
    * @param isPlotTicksMarksVisible
    */
-
   public void setPlotTicksMarksVisible(boolean isPlotTicksMarksVisible) {
 
     this.isPlotTicksMarksVisible = isPlotTicksMarksVisible;
@@ -610,7 +577,6 @@ public abstract class Styler_AxesChart extends Styler {
    *
    * @param plotGridLinesColor
    */
-
   public void setPlotGridLinesColor(Color plotGridLinesColor) {
 
     this.plotGridLinesColor = plotGridLinesColor;
@@ -626,7 +592,6 @@ public abstract class Styler_AxesChart extends Styler {
    *
    * @param plotGridLinesStroke
    */
-
   public void setPlotGridLinesStroke(Stroke plotGridLinesStroke) {
 
     this.plotGridLinesStroke = plotGridLinesStroke;
@@ -637,56 +602,6 @@ public abstract class Styler_AxesChart extends Styler {
     return plotGridLinesStroke;
   }
 
-  // Bar Charts ///////////////////////////////
-
-  /**
-   * set the width of a single bar in a bar chart. full width is 100%, i.e. 1.0
-   *
-   * @param barWidthPercentage
-   */
-
-  public void setBarWidthPercentage(double barWidthPercentage) {
-
-    this.barWidthPercentage = barWidthPercentage;
-  }
-
-  public double getBarWidthPercentage() {
-
-    return barWidthPercentage;
-  }
-
-  /**
-   * set whether or no bars are overlapped. Otherwise they are places side-by-side
-   *
-   * @param isBarsOverlapped
-   */
-
-  public void setBarsOverlapped(boolean isBarsOverlapped) {
-
-    this.isBarsOverlapped = isBarsOverlapped;
-  }
-
-  public boolean isBarsOverlapped() {
-
-    return isBarsOverlapped;
-  }
-
-  /**
-   * set whether or no bars are filled with a solid color or empty.
-   *
-   * @param isBarFilled
-   */
-
-  public void setBarFilled(boolean isBarFilled) {
-
-    this.isBarFilled = isBarFilled;
-  }
-
-  public boolean isBarFilled() {
-
-    return isBarFilled;
-  }
-
   // Line, Scatter, Area Charts ///////////////////////////////
 
   /**
@@ -694,7 +609,6 @@ public abstract class Styler_AxesChart extends Styler {
    *
    * @param markerSize
    */
-
   public void setMarkerSize(int markerSize) {
 
     this.markerSize = markerSize;
@@ -712,7 +626,6 @@ public abstract class Styler_AxesChart extends Styler {
    *
    * @param errorBarsColor
    */
-
   public void setErrorBarsColor(Color errorBarsColor) {
 
     this.errorBarsColor = errorBarsColor;
@@ -728,7 +641,6 @@ public abstract class Styler_AxesChart extends Styler {
    *
    * @return
    */
-
   public void setErrorBarsColorSeriesColor(boolean isErrorBarsColorSeriesColor) {
 
     this.isErrorBarsColorSeriesColor = isErrorBarsColorSeriesColor;
@@ -746,7 +658,6 @@ public abstract class Styler_AxesChart extends Styler {
    *
    * @param locale - the locale to use when formatting Strings and dates for the axis tick labels
    */
-
   public void setLocale(Locale locale) {
 
     this.locale = locale;
@@ -762,7 +673,6 @@ public abstract class Styler_AxesChart extends Styler {
    *
    * @param timezone the timezone to use when formatting date data
    */
-
   public void setTimezone(TimeZone timezone) {
 
     this.timezone = timezone;
@@ -778,7 +688,6 @@ public abstract class Styler_AxesChart extends Styler {
    *
    * @param pattern - the pattern describing the date and time format
    */
-
   public void setDatePattern(String datePattern) {
 
     this.datePattern = datePattern;
@@ -794,7 +703,6 @@ public abstract class Styler_AxesChart extends Styler {
    *
    * @param pattern - the pattern describing the decimal format
    */
-
   public void setDecimalPattern(String decimalPattern) {
 
     this.decimalPattern = decimalPattern;
@@ -815,7 +723,6 @@ public abstract class Styler_AxesChart extends Styler {
    *
    * @param xAxisDecimalPattern
    */
-
   public void setXAxisDecimalPattern(String xAxisDecimalPattern) {
 
     this.xAxisDecimalPattern = xAxisDecimalPattern;
@@ -831,7 +738,6 @@ public abstract class Styler_AxesChart extends Styler {
    *
    * @param yAxisDecimalPattern
    */
-
   public void setYAxisDecimalPattern(String yAxisDecimalPattern) {
 
     this.yAxisDecimalPattern = yAxisDecimalPattern;
diff --git a/xchart/src/main/java/org/knowm/xchart/internal/style/Theme_.java b/xchart/src/main/java/org/knowm/xchart/internal/style/Theme_.java
index 58b59af7a40104f2e36f9a39bafa09e748ab3563..435bec21c2b438a07110c109f124a491b3003538 100644
--- a/xchart/src/main/java/org/knowm/xchart/internal/style/Theme_.java
+++ b/xchart/src/main/java/org/knowm/xchart/internal/style/Theme_.java
@@ -133,8 +133,6 @@ public interface Theme_ extends SeriesMarkers, SeriesLines, SeriesColors {
 
   public boolean isBarsOverlapped();
 
-  public boolean isBarFilled();
-
   // Pie Charts ///////////////////////////////
 
   public boolean isCircular();
diff --git a/xchart/src/main/java/org/knowm/xchart/internal/style/Theme_GGPlot2.java b/xchart/src/main/java/org/knowm/xchart/internal/style/Theme_GGPlot2.java
index 9e3dd262d006afd6c1c4d8f87edc7ca8d06bcdf9..506f14d03886d05c8ce18c716f648ac6d495d6d8 100644
--- a/xchart/src/main/java/org/knowm/xchart/internal/style/Theme_GGPlot2.java
+++ b/xchart/src/main/java/org/knowm/xchart/internal/style/Theme_GGPlot2.java
@@ -335,12 +335,6 @@ public class Theme_GGPlot2 implements Theme_ {
     return false;
   }
 
-  @Override
-  public boolean isBarFilled() {
-
-    return true;
-  }
-
   // Pie Charts ///////////////////////////////
 
   @Override
diff --git a/xchart/src/main/java/org/knowm/xchart/internal/style/Theme_Matlab.java b/xchart/src/main/java/org/knowm/xchart/internal/style/Theme_Matlab.java
index 221bdf84455937f77bb8bf0b4a036df8000f555d..90dfbcbdceb0f948e83c43f801fb0c18dac3b609 100644
--- a/xchart/src/main/java/org/knowm/xchart/internal/style/Theme_Matlab.java
+++ b/xchart/src/main/java/org/knowm/xchart/internal/style/Theme_Matlab.java
@@ -339,12 +339,6 @@ public class Theme_Matlab implements Theme_ {
     return false;
   }
 
-  @Override
-  public boolean isBarFilled() {
-
-    return true;
-  }
-
   // Pie Charts ///////////////////////////////
 
   @Override
diff --git a/xchart/src/main/java/org/knowm/xchart/internal/style/Theme_XChart.java b/xchart/src/main/java/org/knowm/xchart/internal/style/Theme_XChart.java
index 7d2711be58fabbf44b1b420bfd77a4651685e958..2a3f65aef3d946235e1de22a338f9ff640a53a19 100644
--- a/xchart/src/main/java/org/knowm/xchart/internal/style/Theme_XChart.java
+++ b/xchart/src/main/java/org/knowm/xchart/internal/style/Theme_XChart.java
@@ -335,12 +335,6 @@ public class Theme_XChart implements Theme_ {
     return false;
   }
 
-  @Override
-  public boolean isBarFilled() {
-
-    return true;
-  }
-
   // Pie Charts ///////////////////////////////
 
   @Override