diff --git a/xchart/src/main/java/com/xeiam/xchart/StyleManager.java b/xchart/src/main/java/com/xeiam/xchart/StyleManager.java
index 7940b399d3b31f89efc98341462f55359eacb77f..452f3096e3f71f6a028a0c76e981caeca3901b90 100644
--- a/xchart/src/main/java/com/xeiam/xchart/StyleManager.java
+++ b/xchart/src/main/java/com/xeiam/xchart/StyleManager.java
@@ -116,6 +116,7 @@ public class StyleManager {
   private Double xAxisMax;
   private Double yAxisMin;
   private Double yAxisMax;
+  private double axisTickSpaceRatio; 
 
   // Chart Plot Area ///////////////////////////////
   private boolean isPlotGridLinesVisible;
@@ -193,6 +194,7 @@ public class StyleManager {
     xAxisMax = null;
     yAxisMin = null;
     yAxisMax = null;
+    axisTickSpaceRatio = .95;
 
     // Chart Plot Area ///////////////////////////////
     isPlotGridLinesVisible = theme.isPlotGridLinesVisible();
@@ -847,6 +849,14 @@ public class StyleManager {
     return yAxisMax;
   }
 
+  public void setAxisTickSpaceRatio(double axisTickSpaceRatio) {
+    this.axisTickSpaceRatio = axisTickSpaceRatio;
+  }
+
+  public double getAxisTickSpaceRatio() {
+	return axisTickSpaceRatio;
+  }
+
   // Chart Plot Area ///////////////////////////////
 
   /**
diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/Utils.java b/xchart/src/main/java/com/xeiam/xchart/internal/Utils.java
index a26f144eaeb688ea644a3bcb227a9918c4248318..8bceebf4b0fa5db46b118d264e616c1a60b28c0d 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/Utils.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/Utils.java
@@ -28,17 +28,6 @@ public class Utils {
 
   }
 
-  /**
-   * Gets the percentage of working space allowed for tick marks
-   * 
-   * @param workingSpace
-   * @return
-   */
-  public static int getTickSpace(int workingSpace) {
-
-    return (int) (workingSpace * 0.95);
-  }
-
   /**
    * Gets the offset for the beginning of the tick marks
    * 
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 b290cef90208211a8f756bab91904e7644b6a50b..48bffe3e67d581f8e096ed8aa7e6f4f7dff5c39b 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
@@ -49,8 +49,8 @@ public class AxisTickBarChartCalculator extends AxisTickCalculator {
 
   private void calculate(ChartPainter chartPainter) {
 
-    // tick space - a percentage of the working space available for ticks, i.e. 95%
-    int tickSpace = Utils.getTickSpace(workingSpace); // in plot space
+    // tick space - a percentage of the working space available for ticks
+    int tickSpace = (int)(styleManager.getAxisTickSpaceRatio() * workingSpace); // in plot space
 
     // where the tick should begin in the working space in pixels
     int margin = Utils.getTickStartOffset(workingSpace, tickSpace); // in plot space double gridStep = getGridStepForDecimal(tickSpace);
diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickDateCalculator.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickDateCalculator.java
index 1984e44492e498e64d64e609ad11460b077c8eab..512b15e23d60cc3ba8ba6816070840b852c3c099 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickDateCalculator.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickDateCalculator.java
@@ -46,8 +46,8 @@ public class AxisTickDateCalculator extends AxisTickCalculator {
 
   private void calculate() {
 
-    // tick space - a percentage of the working space available for ticks, i.e. 95%
-    int tickSpace = Utils.getTickSpace(workingSpace); // in plot space
+    // tick space - a percentage of the working space available for ticks
+    int tickSpace = (int)(styleManager.getAxisTickSpaceRatio() * workingSpace); // in plot space
 
     // where the tick should begin in the working space in pixels
     int margin = Utils.getTickStartOffset(workingSpace, tickSpace); // in plot space double gridStep = getGridStepForDecimal(tickSpace);
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 88ab25b5bbfe569ae09a4f763832fefbe84508ee..b335cc95e01dea2d353b2d7494d02c034034bdcf 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
@@ -53,8 +53,8 @@ public class AxisTickLogarithmicCalculator extends AxisTickCalculator {
       return;
     }
 
-    // tick space - a percentage of the working space available for ticks, i.e. 95%
-    int tickSpace = Utils.getTickSpace(workingSpace); // in plot space
+    // tick space - a percentage of the working space available for ticks
+    int tickSpace = (int)(styleManager.getAxisTickSpaceRatio() * workingSpace); // in plot space
 
     // where the tick should begin in the working space in pixels
     int margin = Utils.getTickStartOffset(workingSpace, tickSpace); // in plot space double gridStep = getGridStepForDecimal(tickSpace);
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 e6d273f2043178ca1c3e76c421ce20c1bdef7f3b..85e296b640fdafd7f2014994818393e543f48ae4 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
@@ -53,8 +53,8 @@ public class AxisTickNumericalCalculator extends AxisTickCalculator {
       return;
     }
 
-    // tick space - a percentage of the working space available for ticks, i.e. 95%
-    int tickSpace = Utils.getTickSpace(workingSpace); // in plot space
+    // tick space - a percentage of the working space available for ticks
+    int tickSpace = (int)(styleManager.getAxisTickSpaceRatio() * workingSpace); // in plot space
 
     // where the tick should begin in the working space in pixels
     int margin = Utils.getTickStartOffset(workingSpace, tickSpace); // in plot space double gridStep = getGridStepForDecimal(tickSpace);
diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/ChartPainter.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/ChartPainter.java
index ccc1e09db98bca490120d4e092cdf6fb625c5174..35968240a1f8316b22694b8a5b26c29e79b5a459 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/ChartPainter.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/ChartPainter.java
@@ -54,7 +54,7 @@ public class ChartPainter {
 
     chartLegend = new Legend(this);
     axisPair = new AxisPair(this);
-    plot = new Plot(this);
+    plot = new Plot(this, styleManager);
     chartTitle = new ChartTitle(this);
   }
 
diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/Plot.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/Plot.java
index 59be2c9fa4880d91e08a2dda15d15250dd591f20..8677fd0bbd907a3112900225eb44ef646026b7b7 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/Plot.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/Plot.java
@@ -18,6 +18,7 @@ package com.xeiam.xchart.internal.chartpart;
 import java.awt.Graphics2D;
 import java.awt.geom.Rectangle2D;
 
+import com.xeiam.xchart.StyleManager;
 import com.xeiam.xchart.StyleManager.ChartType;
 
 /**
@@ -35,15 +36,18 @@ public class Plot implements ChartPart {
 
   private PlotContent plotContent;
 
+  private StyleManager styleManager;
+
   /**
    * Constructor
    * 
    * @param chartPainter
    */
-  public Plot(ChartPainter chartPainter) {
+  public Plot(ChartPainter chartPainter, StyleManager styleManager) {
 
     this.chartPainter = chartPainter;
     this.plotSurface = new PlotSurface(this);
+    this.styleManager = styleManager;
 
   }
 
@@ -76,10 +80,10 @@ public class Plot implements ChartPart {
 
     plotSurface.paint(g);
     if (getChartPainter().getStyleManager().getChartType() == ChartType.Bar) {
-      this.plotContent = new PlotContentBarChart(this);
+      this.plotContent = new PlotContentBarChart(this, styleManager);
     }
     else {
-      this.plotContent = new PlotContentLineChart(this);
+      this.plotContent = new PlotContentLineChart(this, styleManager);
     }
     plotContent.paint(g);
 
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 41a31636130f79f4558837b55cc41d7a0d4ad1b5..a9706c85d67ebb0a3dc8e8313fbcd361d073d2db 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
@@ -24,6 +24,7 @@ import java.util.Set;
 import java.util.TreeSet;
 
 import com.xeiam.xchart.Series;
+import com.xeiam.xchart.StyleManager;
 import com.xeiam.xchart.internal.Utils;
 
 /**
@@ -31,14 +32,17 @@ import com.xeiam.xchart.internal.Utils;
  */
 public class PlotContentBarChart extends PlotContent {
 
+  private StyleManager styleManager;
+
   /**
    * Constructor
    * 
    * @param plot
    */
-  protected PlotContentBarChart(Plot plot) {
+  protected PlotContentBarChart(Plot plot, StyleManager styleManager) {
 
     super(plot);
+    this.styleManager = styleManager;
   }
 
   @Override
@@ -47,11 +51,11 @@ public class PlotContentBarChart extends PlotContent {
     Rectangle2D bounds = plot.getBounds();
 
     // X-Axis
-    int xTickSpace = Utils.getTickSpace((int) bounds.getWidth());
+    int xTickSpace = (int)(styleManager.getAxisTickSpaceRatio() * bounds.getWidth());
     int xLeftMargin = Utils.getTickStartOffset((int) bounds.getWidth(), xTickSpace);
 
     // Y-Axis
-    int yTickSpace = Utils.getTickSpace((int) bounds.getHeight());
+    int yTickSpace = (int)(styleManager.getAxisTickSpaceRatio() * bounds.getHeight());
     int yTopMargin = Utils.getTickStartOffset((int) bounds.getHeight(), yTickSpace);
 
     // get all categories
diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotContentLineChart.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotContentLineChart.java
index f70c8bd61ba69527e78711f9293881a4d02cc6fe..6f4bae54a6b54834405a58cf2a34867fd17573a0 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotContentLineChart.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotContentLineChart.java
@@ -25,6 +25,7 @@ import java.util.Date;
 import java.util.Iterator;
 
 import com.xeiam.xchart.Series;
+import com.xeiam.xchart.StyleManager;
 import com.xeiam.xchart.StyleManager.ChartType;
 import com.xeiam.xchart.internal.Utils;
 import com.xeiam.xchart.internal.chartpart.Axis.AxisType;
@@ -34,14 +35,16 @@ import com.xeiam.xchart.internal.chartpart.Axis.AxisType;
  */
 public class PlotContentLineChart extends PlotContent {
 
+  private StyleManager styleManager;
+
   /**
    * Constructor
    * 
    * @param plot
    */
-  protected PlotContentLineChart(Plot plot) {
-
+  protected PlotContentLineChart(Plot plot, StyleManager styleManager) {
     super(plot);
+    this.styleManager = styleManager;
   }
 
   @Override
@@ -50,11 +53,11 @@ public class PlotContentLineChart extends PlotContent {
     Rectangle2D bounds = plot.getBounds();
 
     // X-Axis
-    int xTickSpace = Utils.getTickSpace((int) bounds.getWidth());
+    int xTickSpace = (int)(styleManager.getAxisTickSpaceRatio() * bounds.getWidth());
     int xLeftMargin = Utils.getTickStartOffset((int) bounds.getWidth(), xTickSpace);
 
     // Y-Axis
-    int yTickSpace = Utils.getTickSpace((int) bounds.getHeight());
+    int yTickSpace = (int)(styleManager.getAxisTickSpaceRatio() * bounds.getHeight());
     int yTopMargin = Utils.getTickStartOffset((int) bounds.getHeight(), yTickSpace);
 
     for (Series series : getChartPainter().getAxisPair().getSeriesMap().values()) {