From a935e914f4d35f79684b3d441d07734c1aff7ad3 Mon Sep 17 00:00:00 2001 From: Tim Molter <tim@knowm.org> Date: Mon, 25 Jan 2016 13:17:46 +0100 Subject: [PATCH] Issue #130 - allow bars to touch bottom at the X-Axis. --- .../demo/charts/area/AreaLineChart03.java | 4 +-- .../xchart/demo/charts/bar/BarChart01.java | 2 ++ .../xchart/demo/charts/line/LineChart03.java | 2 +- .../xchart/demo/charts/line/LineChart07.java | 1 - .../xchart/demo/charts/pie/PieChart03.java | 2 +- .../java/org/knowm/xchart/Styler_Pie.java | 17 ----------- .../knowm/xchart/internal/chartpart/Axis.java | 12 ++++---- .../AxisTickCalculator_Category.java | 2 +- .../chartpart/AxisTickCalculator_Date.java | 2 +- .../AxisTickCalculator_Logarithmic.java | 2 +- .../chartpart/AxisTickCalculator_Number.java | 2 +- .../chartpart/PlotContent_Category_Bar.java | 4 +-- ...lotContent_Category_Line_Area_Scatter.java | 4 +-- .../internal/chartpart/PlotContent_Pie.java | 2 +- .../internal/chartpart/PlotContent_XY.java | 4 +-- .../internal/chartpart/Plot_AxesChart.java | 2 +- .../knowm/xchart/internal/style/Styler.java | 21 ++++++++++++++ .../internal/style/Styler_AxesChart.java | 29 +++++-------------- .../knowm/xchart/internal/style/Theme_.java | 8 ++--- .../xchart/internal/style/Theme_GGPlot2.java | 24 +++++++-------- .../xchart/internal/style/Theme_Matlab.java | 24 +++++++-------- .../xchart/internal/style/Theme_XChart.java | 24 +++++++-------- 22 files changed, 93 insertions(+), 101 deletions(-) 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 b64a6de4..d553bdb6 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 @@ -94,8 +94,8 @@ public class AreaLineChart03 implements ExampleChart { chart.getStyler().setYAxisLabelAlignment(Styler.TextAlignment.Right); chart.getStyler().setYAxisDecimalPattern("$ #,###.##"); - chart.getStyler().setPlotPadding(0); - chart.getStyler().setAxisTickSpacePercentage(.95); + chart.getStyler().setPlotMargin(0); + chart.getStyler().setPlotContentSize(.95); // chart.getStyleManager().setYAxisMax(1620725 * 1.15); // We want to ensure there is a % of padding on the top of the chart return chart; } diff --git a/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/bar/BarChart01.java b/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/bar/BarChart01.java index ed4d1e63..94ca7f9d 100644 --- a/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/bar/BarChart01.java +++ b/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/bar/BarChart01.java @@ -34,6 +34,7 @@ import org.knowm.xchart.internal.style.Styler.LegendPosition; * <li>All positive values * <li>Single series * <li>Place legend at Inside-NW position + * <li>Bars touch X-Axis */ public class BarChart01 implements ExampleChart { @@ -53,6 +54,7 @@ public class BarChart01 implements ExampleChart { // Customize Chart chart.getStyler().setLegendPosition(LegendPosition.InsideNW); + chart.getStyler().setPlotContentSize(1.0); return chart; } diff --git a/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/line/LineChart03.java b/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/line/LineChart03.java index e0937372..5cd3fb80 100644 --- a/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/line/LineChart03.java +++ b/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/line/LineChart03.java @@ -90,7 +90,7 @@ public class LineChart03 implements ExampleChart { chart.getStyler().setAxisTickMarkLength(15); - chart.getStyler().setPlotPadding(20); + chart.getStyler().setPlotMargin(20); chart.getStyler().setChartTitleFont(new Font(Font.MONOSPACED, Font.BOLD, 24)); chart.getStyler().setLegendFont(new Font(Font.SERIF, Font.PLAIN, 18)); 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 6d3bb600..827c4f32 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 @@ -99,7 +99,6 @@ public class LineChart07 implements ExampleChart { series.setMarker(SeriesMarkers.NONE); // series.setChartCategorySeriesRenderStyle(ChartCategorySeriesRenderStyle.Line); } - chart.getStyler().setYAxisLogarithmic(true); return chart; } diff --git a/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/pie/PieChart03.java b/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/pie/PieChart03.java index 5a0a6763..7028df25 100644 --- a/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/pie/PieChart03.java +++ b/xchart-demo/src/main/java/org/knowm/xchart/demo/charts/pie/PieChart03.java @@ -55,7 +55,7 @@ public class PieChart03 implements ExampleChart<Chart_Pie> { chart.getStyler().setLegendVisible(false); chart.getStyler().setAnnotationType(AnnotationType.LabelAndPercentage); chart.getStyler().setAnnotationDistance(1.15); - chart.getStyler().setPieSize(.7); + chart.getStyler().setPlotContentSize(.7); return chart; } 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 2a683c9e..8e0acb80 100644 --- a/xchart/src/main/java/org/knowm/xchart/Styler_Pie.java +++ b/xchart/src/main/java/org/knowm/xchart/Styler_Pie.java @@ -34,7 +34,6 @@ public class Styler_Pie extends Styler { Percentage, Label, LabelAndPercentage } - private double pieSize; private boolean isCircular; private double startAngleInDegrees; private Font annotationFont; @@ -54,7 +53,6 @@ public class Styler_Pie extends Styler { protected void setAllStyles() { chartPieSeriesRenderStyle = ChartPieSeriesRenderStyle.Pie; // set default to pie, donut may be a future one - pieSize = theme.getPieSize(); isCircular = theme.isCircular(); annotationFont = theme.getPieFont(); annotationDistance = theme.getAnnotationDistance(); @@ -76,21 +74,6 @@ public class Styler_Pie extends Styler { this.chartPieSeriesRenderStyle = chartPieSeriesRenderStyle; } - public double getPieSize() { - - return pieSize; - } - - /** - * Sets the amount of space that the pie chart fills. Full fill is 100%, i.e. 1.0 - * - * @param pieSize - */ - public void setPieSize(double pieSize) { - - this.pieSize = pieSize; - } - public boolean isCircular() { return isCircular; 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 0d0ef32d..a64f9780 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 @@ -167,13 +167,13 @@ public class Axis<ST extends Styler_AxesChart, S extends Series> implements Char - 2 * chart.getStyler().getChartPadding() - - (chart.getStyler().isYAxisTicksVisible() ? (chart.getStyler().getPlotPadding()) : 0) + - (chart.getStyler().isYAxisTicksVisible() ? (chart.getStyler().getPlotMargin()) : 0) - (chart.getStyler().getLegendPosition() == LegendPosition.OutsideE && chart.getStyler().isLegendVisible() ? chart.getStyler().getChartPadding() : 0) ; - height = chart.getHeight() - yOffset - chart.getXAxis().getXAxisHeightHint(approximateXAxisWidth) - chart.getStyler().getPlotPadding() - chart.getStyler().getChartPadding(); + height = chart.getHeight() - yOffset - chart.getXAxis().getXAxisHeightHint(approximateXAxisWidth) - chart.getStyler().getPlotMargin() - chart.getStyler().getChartPadding(); width = getYAxisWidthHint(height); // System.out.println("width after: " + width); @@ -208,8 +208,8 @@ public class Axis<ST extends Styler_AxesChart, S extends Series> implements Char // calculate paint zone // |____________________| - double xOffset = chart.getYAxis().getBounds().getWidth() + (chart.getStyler().isYAxisTicksVisible() ? chart.getStyler().getPlotPadding() : 0) + chart.getStyler().getChartPadding(); - double yOffset = chart.getYAxis().getBounds().getY() + chart.getYAxis().getBounds().getHeight() + chart.getStyler().getPlotPadding(); + double xOffset = chart.getYAxis().getBounds().getWidth() + (chart.getStyler().isYAxisTicksVisible() ? chart.getStyler().getPlotMargin() : 0) + chart.getStyler().getChartPadding(); + double yOffset = chart.getYAxis().getBounds().getY() + chart.getYAxis().getBounds().getHeight() + chart.getStyler().getPlotMargin(); double width = @@ -221,7 +221,7 @@ public class Axis<ST extends Styler_AxesChart, S extends Series> implements Char - 2 * chart.getStyler().getChartPadding() - - (chart.getStyler().isYAxisTicksVisible() ? (chart.getStyler().getPlotPadding()) : 0) + - (chart.getStyler().isYAxisTicksVisible() ? (chart.getStyler().getPlotMargin()) : 0) - (chart.getStyler().getLegendPosition() == LegendPosition.OutsideE && chart.getStyler().isLegendVisible() ? chart.getStyler().getChartPadding() : 0) @@ -230,7 +230,7 @@ public class Axis<ST extends Styler_AxesChart, S extends Series> implements Char // double height = this.getXAxisHeightHint(width); // System.out.println("height: " + height); // the Y-Axis was already draw at this point so we know how much vertical room is left for the X-Axis - double height = chart.getHeight() - chart.getYAxis().getBounds().getY() - chart.getYAxis().getBounds().getHeight() - chart.getStyler().getChartPadding() - chart.getStyler().getPlotPadding(); + double height = chart.getHeight() - chart.getYAxis().getBounds().getY() - chart.getYAxis().getBounds().getHeight() - chart.getStyler().getChartPadding() - chart.getStyler().getPlotMargin(); // System.out.println("height2: " + height2); Rectangle2D xAxisRectangle = new Rectangle2D.Double(xOffset, yOffset, width, height); diff --git a/xchart/src/main/java/org/knowm/xchart/internal/chartpart/AxisTickCalculator_Category.java b/xchart/src/main/java/org/knowm/xchart/internal/chartpart/AxisTickCalculator_Category.java index c262dfcb..bbee9ff1 100644 --- a/xchart/src/main/java/org/knowm/xchart/internal/chartpart/AxisTickCalculator_Category.java +++ b/xchart/src/main/java/org/knowm/xchart/internal/chartpart/AxisTickCalculator_Category.java @@ -52,7 +52,7 @@ public class AxisTickCalculator_Category extends AxisTickCalculator_ { private void calculate(List<?> categories, AxisDataType axisType) { // tick space - a percentage of the working space available for ticks - int tickSpace = (int) (styler.getAxisTickSpacePercentage() * workingSpace); // in plot space + int tickSpace = (int) (styler.getPlotContentSize() * workingSpace); // in plot space // where the tick should begin in the working space in pixels double margin = Utils.getTickStartOffset(workingSpace, tickSpace); diff --git a/xchart/src/main/java/org/knowm/xchart/internal/chartpart/AxisTickCalculator_Date.java b/xchart/src/main/java/org/knowm/xchart/internal/chartpart/AxisTickCalculator_Date.java index aba06fae..b526eded 100644 --- a/xchart/src/main/java/org/knowm/xchart/internal/chartpart/AxisTickCalculator_Date.java +++ b/xchart/src/main/java/org/knowm/xchart/internal/chartpart/AxisTickCalculator_Date.java @@ -118,7 +118,7 @@ public class AxisTickCalculator_Date extends AxisTickCalculator_ { private void calculate() { // tick space - a percentage of the working space available for ticks - double tickSpace = styler.getAxisTickSpacePercentage() * workingSpace; // in plot space + double tickSpace = styler.getPlotContentSize() * workingSpace; // in plot space // this prevents an infinite loop when the plot gets sized really small. if (tickSpace < styler.getXAxisTickMarkSpacingHint()) { diff --git a/xchart/src/main/java/org/knowm/xchart/internal/chartpart/AxisTickCalculator_Logarithmic.java b/xchart/src/main/java/org/knowm/xchart/internal/chartpart/AxisTickCalculator_Logarithmic.java index ec48efad..a759e07e 100644 --- a/xchart/src/main/java/org/knowm/xchart/internal/chartpart/AxisTickCalculator_Logarithmic.java +++ b/xchart/src/main/java/org/knowm/xchart/internal/chartpart/AxisTickCalculator_Logarithmic.java @@ -57,7 +57,7 @@ public class AxisTickCalculator_Logarithmic extends AxisTickCalculator_ { } // tick space - a percentage of the working space available for ticks - double tickSpace = styler.getAxisTickSpacePercentage() * workingSpace; // in plot space + double tickSpace = styler.getPlotContentSize() * workingSpace; // in plot space // this prevents an infinite loop when the plot gets sized really small. if (tickSpace < styler.getXAxisTickMarkSpacingHint()) { 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 091ec583..18e04ce5 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 @@ -58,7 +58,7 @@ public class AxisTickCalculator_Number extends AxisTickCalculator_ { } // tick space - a percentage of the working space available for ticks - double tickSpace = styler.getAxisTickSpacePercentage() * workingSpace; // in plot space + double tickSpace = styler.getPlotContentSize() * workingSpace; // in plot space // this prevents an infinite loop when the plot gets sized really small. if (tickSpace < styler.getXAxisTickMarkSpacingHint()) { 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 6020bcfd..5166fe84 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 @@ -67,11 +67,11 @@ public class PlotContent_Category_Bar<ST extends Styler, S extends Series> exten g.setClip(bounds.createIntersection(rectangle)); // X-Axis - double xTickSpace = stylerCategory.getAxisTickSpacePercentage() * bounds.getWidth(); + double xTickSpace = stylerCategory.getPlotContentSize() * bounds.getWidth(); double xLeftMargin = Utils.getTickStartOffset(bounds.getWidth(), xTickSpace); // Y-Axis - double yTickSpace = stylerCategory.getAxisTickSpacePercentage() * bounds.getHeight(); + double yTickSpace = stylerCategory.getPlotContentSize() * bounds.getHeight(); double yTopMargin = Utils.getTickStartOffset(bounds.getHeight(), yTickSpace); Map<String, Series_Category> seriesMap = chart.getSeriesMap(); diff --git a/xchart/src/main/java/org/knowm/xchart/internal/chartpart/PlotContent_Category_Line_Area_Scatter.java b/xchart/src/main/java/org/knowm/xchart/internal/chartpart/PlotContent_Category_Line_Area_Scatter.java index 9d9db5d8..10c5452b 100644 --- a/xchart/src/main/java/org/knowm/xchart/internal/chartpart/PlotContent_Category_Line_Area_Scatter.java +++ b/xchart/src/main/java/org/knowm/xchart/internal/chartpart/PlotContent_Category_Line_Area_Scatter.java @@ -85,11 +85,11 @@ public class PlotContent_Category_Line_Area_Scatter<ST extends Styler, S extends // g.setClip(bounds.createIntersection(g.getClipBounds())); // X-Axis - double xTickSpace = stylerCategory.getAxisTickSpacePercentage() * bounds.getWidth(); + double xTickSpace = stylerCategory.getPlotContentSize() * bounds.getWidth(); double xLeftMargin = Utils.getTickStartOffset((int) bounds.getWidth(), xTickSpace); // Y-Axis - double yTickSpace = stylerCategory.getAxisTickSpacePercentage() * bounds.getHeight(); + double yTickSpace = stylerCategory.getPlotContentSize() * bounds.getHeight(); double yTopMargin = Utils.getTickStartOffset((int) bounds.getHeight(), yTickSpace); double xMin = chart.getAxisPair().getXAxis().getMin(); diff --git a/xchart/src/main/java/org/knowm/xchart/internal/chartpart/PlotContent_Pie.java b/xchart/src/main/java/org/knowm/xchart/internal/chartpart/PlotContent_Pie.java index 0e6a78d2..168459fd 100644 --- a/xchart/src/main/java/org/knowm/xchart/internal/chartpart/PlotContent_Pie.java +++ b/xchart/src/main/java/org/knowm/xchart/internal/chartpart/PlotContent_Pie.java @@ -75,7 +75,7 @@ public class PlotContent_Pie<ST extends Styler, S extends Series> extends PlotCo g.setClip(bounds.createIntersection(rectangle)); // pie bounds - double pieFillPercentage = stylerPie.getPieSize(); + double pieFillPercentage = stylerPie.getPlotContentSize(); // if (stylerPie.isCircular()) { // diff --git a/xchart/src/main/java/org/knowm/xchart/internal/chartpart/PlotContent_XY.java b/xchart/src/main/java/org/knowm/xchart/internal/chartpart/PlotContent_XY.java index 0c6e08d5..8b69e5eb 100644 --- a/xchart/src/main/java/org/knowm/xchart/internal/chartpart/PlotContent_XY.java +++ b/xchart/src/main/java/org/knowm/xchart/internal/chartpart/PlotContent_XY.java @@ -82,11 +82,11 @@ public class PlotContent_XY<ST extends Styler_AxesChart, S extends Series> exten // g.setClip(bounds.createIntersection(g.getClipBounds())); // X-Axis - double xTickSpace = stylerXY.getAxisTickSpacePercentage() * bounds.getWidth(); + double xTickSpace = stylerXY.getPlotContentSize() * bounds.getWidth(); double xLeftMargin = Utils.getTickStartOffset((int) bounds.getWidth(), xTickSpace); // Y-Axis - double yTickSpace = stylerXY.getAxisTickSpacePercentage() * bounds.getHeight(); + double yTickSpace = stylerXY.getPlotContentSize() * bounds.getHeight(); double yTopMargin = Utils.getTickStartOffset((int) bounds.getHeight(), yTickSpace); double xMin = chart.getXAxis().getMin(); diff --git a/xchart/src/main/java/org/knowm/xchart/internal/chartpart/Plot_AxesChart.java b/xchart/src/main/java/org/knowm/xchart/internal/chartpart/Plot_AxesChart.java index bd17c250..00cf4b80 100644 --- a/xchart/src/main/java/org/knowm/xchart/internal/chartpart/Plot_AxesChart.java +++ b/xchart/src/main/java/org/knowm/xchart/internal/chartpart/Plot_AxesChart.java @@ -49,7 +49,7 @@ public class Plot_AxesChart<ST extends Styler, S extends Series> extends Plot_ { // calculate bounds double xOffset = chart.getYAxis().getBounds().getX() + chart.getYAxis().getBounds().getWidth() - + (stylerAxesChart.isYAxisTicksVisible() ? stylerAxesChart.getPlotPadding() : 0); + + (stylerAxesChart.isYAxisTicksVisible() ? stylerAxesChart.getPlotMargin() : 0); double yOffset = chart.getYAxis().getBounds().getY(); double width = chart.getXAxis().getBounds().getWidth(); diff --git a/xchart/src/main/java/org/knowm/xchart/internal/style/Styler.java b/xchart/src/main/java/org/knowm/xchart/internal/style/Styler.java index d4530496..2b2a2e72 100644 --- a/xchart/src/main/java/org/knowm/xchart/internal/style/Styler.java +++ b/xchart/src/main/java/org/knowm/xchart/internal/style/Styler.java @@ -91,6 +91,7 @@ public abstract class Styler { private Color plotBackgroundColor; private Color plotBorderColor; private boolean isPlotBorderVisible; + private double plotContentSize = .92; protected void setAllStyles() { @@ -123,6 +124,7 @@ public abstract class Styler { plotBackgroundColor = theme.getPlotBackgroundColor(); plotBorderColor = theme.getPlotBorderColor(); isPlotBorderVisible = theme.isPlotBorderVisible(); + plotContentSize = theme.getPlotContentSize(); } // Chart Style /////////////////////////////// @@ -453,4 +455,23 @@ public abstract class Styler { return isPlotBorderVisible; } + public double getPlotContentSize() { + + return plotContentSize; + } + + /** + * Sets the content size of the plot inside the plot area of the chart. To fill the area 100%, use a value of 1.0. + * + * @param plotContentSize - Valid range is between 0 and 1. + */ + public void setPlotContentSize(double plotContentSize) { + + if (plotContentSize < 0 || plotContentSize > 1) { + throw new IllegalArgumentException("Plot content size must be tween 0 and 1!!!"); + } + + this.plotContentSize = plotContentSize; + } + } 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 78c19603..a08458e9 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 @@ -41,7 +41,7 @@ public abstract class Styler_AxesChart extends Styler { private Color axisTickLabelsColor; private boolean isAxisTicksLineVisible; private boolean isAxisTicksMarksVisible; - private int plotPadding; + private int plotMargin; private int axisTitlePadding; private int xAxisTickMarkSpacingHint; private int yAxisTickMarkSpacingHint; @@ -51,7 +51,6 @@ public abstract class Styler_AxesChart extends Styler { private Double xAxisMax; private Double yAxisMin; private Double yAxisMax; - private double axisTickSpacePercentage; private TextAlignment xAxisLabelAlignment = TextAlignment.Centre; private TextAlignment yAxisLabelAlignment = TextAlignment.Left; private int xAxisLabelRotation = 0; @@ -102,7 +101,7 @@ public abstract class Styler_AxesChart extends Styler { axisTickLabelsColor = theme.getAxisTickLabelsColor(); isAxisTicksLineVisible = theme.isAxisTicksLineVisible(); isAxisTicksMarksVisible = theme.isAxisTicksMarksVisible(); - plotPadding = theme.getPlotPadding(); + plotMargin = theme.getPlotMargin(); axisTitlePadding = theme.getAxisTitlePadding(); xAxisTickMarkSpacingHint = theme.getXAxisTickMarkSpacingHint(); yAxisTickMarkSpacingHint = theme.getYAxisTickMarkSpacingHint(); @@ -112,7 +111,6 @@ public abstract class Styler_AxesChart extends Styler { xAxisMax = null; yAxisMin = null; yAxisMax = null; - axisTickSpacePercentage = .92; // Chart Plot Area /////////////////////////////// isPlotGridVerticalLinesVisible = theme.isPlotGridVerticalLinesVisible(); @@ -284,7 +282,6 @@ public abstract class Styler_AxesChart extends Styler { * * @param axisTickPadding */ - public void setAxisTickPadding(int axisTickPadding) { this.axisTickPadding = axisTickPadding; @@ -376,19 +373,19 @@ public abstract class Styler_AxesChart extends Styler { } /** - * sets the padding between the tick marks and the plot area + * sets the margin around the plot area * - * @param plotPadding + * @param plotMargin */ - public void setPlotPadding(int plotPadding) { + public void setPlotMargin(int plotMargin) { - this.plotPadding = plotPadding; + this.plotMargin = plotMargin; } - public int getPlotPadding() { + public int getPlotMargin() { - return plotPadding; + return plotMargin; } /** @@ -511,16 +508,6 @@ public abstract class Styler_AxesChart extends Styler { return yAxisMax; } - public void setAxisTickSpacePercentage(double axisTickSpacePercentage) { - - this.axisTickSpacePercentage = axisTickSpacePercentage; - } - - public double getAxisTickSpacePercentage() { - - return axisTickSpacePercentage; - } - public TextAlignment getXAxisLabelAlignment() { return xAxisLabelAlignment; 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 f0225474..58b59af7 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 @@ -99,8 +99,6 @@ public interface Theme_ extends SeriesMarkers, SeriesLines, SeriesColors { public int getAxisTitlePadding(); - public int getPlotPadding(); - public int getXAxisTickMarkSpacingHint(); public int getYAxisTickMarkSpacingHint(); @@ -125,6 +123,10 @@ public interface Theme_ extends SeriesMarkers, SeriesLines, SeriesColors { public boolean isPlotTicksMarksVisible(); + public double getPlotContentSize(); + + public int getPlotMargin(); + // Bar Charts /////////////////////////////// public double getBarWidthPercentage(); @@ -135,8 +137,6 @@ public interface Theme_ extends SeriesMarkers, SeriesLines, SeriesColors { // Pie Charts /////////////////////////////// - public double getPieSize(); - public boolean isCircular(); public double getStartAngleInDegrees(); 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 59ef37d0..9e3dd262 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 @@ -205,21 +205,21 @@ public class Theme_GGPlot2 implements Theme_ { } @Override - public boolean isAxisTicksLineVisible() { + public int getPlotMargin() { - return false; + return 0; } @Override - public boolean isAxisTicksMarksVisible() { + public boolean isAxisTicksLineVisible() { - return true; + return false; } @Override - public int getPlotPadding() { + public boolean isAxisTicksMarksVisible() { - return 0; + return true; } @Override @@ -315,6 +315,12 @@ public class Theme_GGPlot2 implements Theme_ { return new BasicStroke(1.5f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL, 10.0f, new float[] { 3.0f, 0.0f }, 0.0f); } + @Override + public double getPlotContentSize() { + + return .92; + } + // Bar Charts /////////////////////////////// @Override @@ -337,12 +343,6 @@ public class Theme_GGPlot2 implements Theme_ { // Pie Charts /////////////////////////////// - @Override - public double getPieSize() { - - return .90; - } - @Override public boolean isCircular() { 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 b42d3918..221bdf84 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 @@ -208,6 +208,12 @@ public class Theme_Matlab implements Theme_ { return 4; } + @Override + public int getPlotMargin() { + + return 3; + } + @Override public Color getAxisTickMarksColor() { @@ -238,12 +244,6 @@ public class Theme_Matlab implements Theme_ { return false; } - @Override - public int getPlotPadding() { - - return 3; - } - @Override public int getAxisTitlePadding() { @@ -319,6 +319,12 @@ public class Theme_Matlab implements Theme_ { } + @Override + public double getPlotContentSize() { + + return .92; + } + // Bar Charts /////////////////////////////// @Override @@ -341,12 +347,6 @@ public class Theme_Matlab implements Theme_ { // Pie Charts /////////////////////////////// - @Override - public double getPieSize() { - - return .90; - } - @Override public boolean isCircular() { 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 78cde489..7d2711be 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 @@ -205,6 +205,12 @@ public class Theme_XChart implements Theme_ { return 4; } + @Override + public int getPlotMargin() { + + return 4; + } + @Override public Color getAxisTickMarksColor() { @@ -235,12 +241,6 @@ public class Theme_XChart implements Theme_ { return true; } - @Override - public int getPlotPadding() { - - return 4; - } - @Override public int getAxisTitlePadding() { @@ -315,6 +315,12 @@ public class Theme_XChart implements Theme_ { return new BasicStroke(1, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL, 10.0f, new float[] { 3.0f, 3.0f }, 0.0f); } + @Override + public double getPlotContentSize() { + + return .92; + } + // Bar Charts /////////////////////////////// @Override @@ -337,12 +343,6 @@ public class Theme_XChart implements Theme_ { // Pie Charts /////////////////////////////// - @Override - public double getPieSize() { - - return .90; - } - @Override public boolean isCircular() { -- GitLab