diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/XChartDemo.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/XChartDemo.java index 362def1feb75512f0a3200e2940d0b1336c9a265..25e914d8b4a36c1f2a705c966e41d491e2091e86 100644 --- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/XChartDemo.java +++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/XChartDemo.java @@ -195,7 +195,7 @@ public class XChartDemo extends JPanel implements TreeSelectionListener { defaultMutableTreeNode = new DefaultMutableTreeNode(new ChartInfo("AreaChart02 - Null Y-Axis Data Points", new AreaChart02().getChart())); category.add(defaultMutableTreeNode); - defaultMutableTreeNode = new DefaultMutableTreeNode(new ChartInfo("AreaLineChart03 - Combination Line & Area Chart", new AreaLineChart03().getChart())); + defaultMutableTreeNode = new DefaultMutableTreeNode(new ChartInfo("AreaLineChart03 - Combination Are & Line Chart", new AreaLineChart03().getChart())); category.add(defaultMutableTreeNode); // Line category diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/area/AreaLineChart03.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/area/AreaLineChart03.java index 3b8f85c41e883b6f33de572e4705a693ea5d0331..7a020de4552d756213b5ed93318f635d81ae7caa 100644 --- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/area/AreaLineChart03.java +++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/area/AreaLineChart03.java @@ -255,8 +255,8 @@ public class AreaLineChart03 implements ExampleChart { chart.getStyleManager().setYAxisDecimalPattern("$ #,###.##"); chart.getStyleManager().setPlotPadding(0); - chart.getStyleManager().setAxisTickSpaceRatio(1); - chart.getStyleManager().setYAxisMax(1620725 * 1.15); // We want to ensure there is a % of padding on the top of the chart + chart.getStyleManager().setAxisTickSpacePercentage(.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/src/main/java/com/xeiam/xchart/StyleManager.java b/xchart/src/main/java/com/xeiam/xchart/StyleManager.java index 66420c974bb3cd6e8268a5be303910c9f090be11..f0bfe4fcb890e53accead2116ae585aa70ba7d0b 100644 --- a/xchart/src/main/java/com/xeiam/xchart/StyleManager.java +++ b/xchart/src/main/java/com/xeiam/xchart/StyleManager.java @@ -120,7 +120,7 @@ public class StyleManager { private Double xAxisMax; private Double yAxisMin; private Double yAxisMax; - private double axisTickSpaceRatio; + private double axisTickSpacePercentage; private TextAlignment xAxisLabelAlignment = TextAlignment.Centre; private TextAlignment yAxisLabelAlignment = TextAlignment.Left; @@ -208,7 +208,7 @@ public class StyleManager { xAxisMax = null; yAxisMin = null; yAxisMax = null; - axisTickSpaceRatio = .95; + axisTickSpacePercentage = .95; // Chart Plot Area /////////////////////////////// isPlotGridLinesVisible = theme.isPlotGridLinesVisible(); @@ -872,14 +872,14 @@ public class StyleManager { return yAxisMax; } - public void setAxisTickSpaceRatio(double axisTickSpaceRatio) { + public void setAxisTickSpacePercentage(double axisTickSpacePercentage) { - this.axisTickSpaceRatio = axisTickSpaceRatio; + this.axisTickSpacePercentage = axisTickSpacePercentage; } - public double getAxisTickSpaceRatio() { + public double getAxisTickSpacePercentage() { - return axisTickSpaceRatio; + return axisTickSpacePercentage; } public TextAlignment getXAxisLabelAlignment() { 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 7a8e647a60c3ce6eff5bc9900ed63bb2edc256ed..3f91d61dc0517ca6990607b49d63a8bbd2b8a960 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 @@ -51,7 +51,7 @@ public class AxisTickBarChartCalculator extends AxisTickCalculator { private void calculate(ChartPainter chartPainter) { // tick space - a percentage of the working space available for ticks - int tickSpace = (int) (styleManager.getAxisTickSpaceRatio() * workingSpace); // in plot space + int tickSpace = (int) (styleManager.getAxisTickSpacePercentage() * workingSpace); // in plot space // where the tick should begin in the working space in pixels double 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 89963ba2d0546affc216fe29b2756b59a468fa60..b871b94400064c52ef05cbd3d4e49ab446c0f39a 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 @@ -47,7 +47,7 @@ public class AxisTickDateCalculator extends AxisTickCalculator { private void calculate() { // tick space - a percentage of the working space available for ticks - double tickSpace = styleManager.getAxisTickSpaceRatio() * workingSpace; // in plot space + double tickSpace = styleManager.getAxisTickSpacePercentage() * workingSpace; // in plot space // where the tick should begin in the working space in pixels double margin = Utils.getTickStartOffset(workingSpace, tickSpace); // in plot space double gridStep = getGridStepForDecimal(tickSpace); diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickLabels.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickLabels.java index cc1d035877edbbff1a9486127c239137292271ef..e25f3bc7e5c0d52039bb1db78153ea0b68a9da82 100644 --- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickLabels.java +++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickLabels.java @@ -69,6 +69,7 @@ public class AxisTickLabels implements ChartPart { for (int i = 0; i < axisTick.getTickLabels().size(); i++) { String tickLabel = axisTick.getTickLabels().get(i); + // System.out.println("** " + tickLabel); double tickLocation = axisTick.getTickLocations().get(i); double flippedTickLocation = yOffset + height - tickLocation; 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 c534edc63b6fec98fb8d21dd350074771a1b69a4..80e627099a34b6af626db7cb677c979aeef35a4a 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 @@ -56,7 +56,7 @@ public class AxisTickLogarithmicCalculator extends AxisTickCalculator { } // tick space - a percentage of the working space available for ticks - double tickSpace = styleManager.getAxisTickSpaceRatio() * workingSpace; // in plot space + double tickSpace = styleManager.getAxisTickSpacePercentage() * workingSpace; // in plot space // where the tick should begin in the working space in pixels double 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 b6c9fbb294c7bb69112a85cbc86fa1b6acd4e38a..48d6efb99919cfb73f96b9b05bbfc1675d601b9b 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 @@ -57,7 +57,7 @@ public class AxisTickNumericalCalculator extends AxisTickCalculator { } // tick space - a percentage of the working space available for ticks - double tickSpace = styleManager.getAxisTickSpaceRatio() * workingSpace; // in plot space + double tickSpace = styleManager.getAxisTickSpacePercentage() * workingSpace; // in plot space // where the tick should begin in the working space in pixels double margin = Utils.getTickStartOffset(workingSpace, tickSpace); // in plot space double gridStep = getGridStepForDecimal(tickSpace); @@ -74,7 +74,9 @@ public class AxisTickNumericalCalculator extends AxisTickCalculator { // generate all tickLabels and tickLocations from the first to last position for (BigDecimal tickPosition = cleanedFirstPosition; tickPosition.compareTo(BigDecimal.valueOf(maxValue + 2 * cleanedGridStep.doubleValue())) < 0; tickPosition = tickPosition.add(cleanedGridStep)) { - tickLabels.add(numberFormatter.formatNumber(tickPosition, minValue, maxValue, axisDirection)); + String tickLabel = numberFormatter.formatNumber(tickPosition, minValue, maxValue, axisDirection); + // System.out.println(tickLabel); + tickLabels.add(tickLabel); // here we convert tickPosition finally to plot space, i.e. pixels double tickLabelPosition = margin + ((tickPosition.doubleValue() - minValue) / (maxValue - minValue) * tickSpace); tickLocations.add(tickLabelPosition); 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 a13983f83ee28ee2c00f5f3109eae1503c6fe7d8..9916e4714bc640e332053773f04841cee102c20a 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 @@ -47,11 +47,11 @@ public class PlotContentBarChart extends PlotContent { StyleManager styleManager = plot.getChartPainter().getStyleManager(); // X-Axis - double xTickSpace = styleManager.getAxisTickSpaceRatio() * bounds.getWidth(); + double xTickSpace = styleManager.getAxisTickSpacePercentage() * bounds.getWidth(); double xLeftMargin = Utils.getTickStartOffset(bounds.getWidth(), xTickSpace); // Y-Axis - double yTickSpace = styleManager.getAxisTickSpaceRatio() * bounds.getHeight(); + double yTickSpace = styleManager.getAxisTickSpacePercentage() * bounds.getHeight(); double yTopMargin = Utils.getTickStartOffset(bounds.getHeight(), yTickSpace); int numBars = getChartPainter().getAxisPair().getSeriesMap().values().iterator().next().getXData().size(); 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 076dbe42cb0be80e1c8f8971ace2446678176c39..ba2033c9f2f7c42852087bfcf55b53ee02a648c5 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 @@ -55,11 +55,11 @@ public class PlotContentLineChart extends PlotContent { g.setClip(bounds); // X-Axis - double xTickSpace = styleManager.getAxisTickSpaceRatio() * bounds.getWidth(); + double xTickSpace = styleManager.getAxisTickSpacePercentage() * bounds.getWidth(); double xLeftMargin = Utils.getTickStartOffset((int) bounds.getWidth(), xTickSpace); // Y-Axis - double yTickSpace = styleManager.getAxisTickSpaceRatio() * bounds.getHeight(); + double yTickSpace = styleManager.getAxisTickSpacePercentage() * bounds.getHeight(); double yTopMargin = Utils.getTickStartOffset((int) bounds.getHeight(), yTickSpace); for (Series series : getChartPainter().getAxisPair().getSeriesMap().values()) {