diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/line/LineChart05.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/line/LineChart05.java index 71bbcd01e8b752746f8c87ebe4b0162a7f8e4624..45c5697af8d02005da1a63aac417a8de8a294ec7 100644 --- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/line/LineChart05.java +++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/line/LineChart05.java @@ -33,6 +33,7 @@ import com.xeiam.xchart.demo.charts.ExampleChart; * <li>Customizing the series style properties * <li>Scatter and Line overlay * <li>Logarithmic Y-Axis + * <li>An X-Axis min value clipping off the series */ public class LineChart05 implements ExampleChart { @@ -74,8 +75,8 @@ public class LineChart05 implements ExampleChart { chart.getStyleManager().setYAxisMin(0.01); chart.getStyleManager().setYAxisMax(1000); - chart.getStyleManager().setXAxisMin(-2); - chart.getStyleManager().setXAxisMax(8); + chart.getStyleManager().setXAxisMin(2); + chart.getStyleManager().setXAxisMax(7); return chart; } 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 2b4270c884d34728613785e2d139686c82d531f9..1ee0d8321a161ed798dbf9953a7317a83f5d2293 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 @@ -49,6 +49,9 @@ public class PlotContentLineChart extends PlotContent { Rectangle2D bounds = plot.getBounds(); + // this is for preventing the series to be drawn outside the plot area if min and max is overridden to fall inside the data range + g.setClip(bounds); + // X-Axis int xTickSpace = Utils.getTickSpace((int) bounds.getWidth()); int xLeftMargin = Utils.getTickStartOffset((int) bounds.getWidth(), xTickSpace); @@ -113,11 +116,6 @@ public class PlotContentLineChart extends PlotContent { // System.out.println(x); } - // break out of out of over-ridden min and max values - if (x < getChartPainter().getStyleManager().getXAxisMin() || x > getChartPainter().getStyleManager().getXAxisMax()) { - continue; - } - if (getChartPainter().getStyleManager().isXAxisLogarithmic()) { x = Math.log10(x); } @@ -136,10 +134,6 @@ public class PlotContentLineChart extends PlotContent { double yOrig = next.doubleValue(); - // break out of out of over-ridden min and max values - if (yOrig < getChartPainter().getStyleManager().getYAxisMin() || yOrig > getChartPainter().getStyleManager().getYAxisMax()) { - continue; - } double y = 0.0; // System.out.println(y);