diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/date/DateChart04.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/date/DateChart04.java index cdc842dc5d0eda9a797e8448f648b9171c1da7e7..c3b2a52745c2349642cc92d3caad58ebbde748b5 100644 --- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/date/DateChart04.java +++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/date/DateChart04.java @@ -62,7 +62,7 @@ public class DateChart04 implements ExampleChart { e.printStackTrace(); } xData.add(date); - yData.add(Math.random() * i); + yData.add(Math.random() * i / 10000000000.0); } chart.addSeries("blah", xData, yData); diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/date/DateChart05.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/date/DateChart05.java index 7bca4d329d896e4b4aee3595feaeffefed460d20..39d9b8040a88b0ec0138bac0600cf5d121605d11 100644 --- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/date/DateChart05.java +++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/date/DateChart05.java @@ -62,7 +62,7 @@ public class DateChart05 implements ExampleChart { e.printStackTrace(); } xData.add(date); - yData.add(Math.random() * i); + yData.add(Math.random() * i / -100000000); } chart.addSeries("blah", xData, yData); diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/line/LineChart02.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/line/LineChart02.java index 3bbdb7a3695d822563275d35ba3e0b0be78fb7b5..070c412bb974ae3299008a9c0c932235ad60f587 100644 --- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/line/LineChart02.java +++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/line/LineChart02.java @@ -52,7 +52,7 @@ public class LineChart02 implements ExampleChart { for (int i = 0; i <= size; i++) { double radians = (Math.PI / (size / 2) * i); xData.add(i - size / 2); - yData.add(size * Math.sin(radians)); + yData.add(-.000001 * Math.sin(radians)); } // Create Chart diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/line/LineChart04.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/line/LineChart04.java index 5ca26d73e0e039c54eb286ec70870d7cafc96362..cf367556fe834c735814113736d5b98e74cfe052 100644 --- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/line/LineChart04.java +++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/line/LineChart04.java @@ -48,7 +48,7 @@ public class LineChart04 implements ExampleChart { chart.getStyleManager().setLegendVisible(false); for (int i = 0; i < 200; i++) { - Series series = chart.addSeries("A" + i, new double[] { Math.random(), Math.random() }, new double[] { Math.random() / 1000, Math.random() / 1000 }); + Series series = chart.addSeries("A" + i, new double[] { Math.random() / 1000, Math.random() / 1000 }, new double[] { Math.random() / -1000, Math.random() / -1000 }); series.setLineColor(SeriesColor.BLUE); series.setLineStyle(SeriesLineStyle.SOLID); series.setMarker(SeriesMarker.CIRCLE); diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/scatter/ScatterChart02.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/scatter/ScatterChart02.java index a84211ce3de2ae20107b74ce33c33bb003f224bb..0cab9ca47fd694edf35d8475086a3432a608650d 100644 --- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/scatter/ScatterChart02.java +++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/scatter/ScatterChart02.java @@ -56,7 +56,7 @@ public class ScatterChart02 implements ExampleChart { for (int i = 0; i < size; i++) { double nextRandom = random.nextDouble(); xData.add(Math.pow(10, nextRandom * 10)); - yData.add(1000000000.0 + nextRandom + random.nextDouble()); + yData.add(1000000000.0 + nextRandom * 100); } // Create Chart 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 3467ca53b217f65e2d3587f7ffd2a8fd4869aea2..89d5d6f4aa4bb5a67657dec7f9d6407621a7e779 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 @@ -16,6 +16,7 @@ package com.xeiam.xchart.internal.chartpart; import java.math.BigDecimal; +import java.math.RoundingMode; import com.xeiam.xchart.StyleManager; import com.xeiam.xchart.internal.Utils; @@ -63,9 +64,11 @@ public class AxisTickNumericalCalculator extends AxisTickCalculator { BigDecimal gridStep = BigDecimal.valueOf(getNumericalGridStep(tickSpace)); BigDecimal firstPosition = BigDecimal.valueOf(getFirstPosition(gridStep.doubleValue())); + BigDecimal scaledfirstPosition = firstPosition.setScale(16, RoundingMode.HALF_UP); + // System.out.println("scaledfirstPosition: " + scaledfirstPosition); // chop off any double imprecision // generate all tickLabels and tickLocations from the first to last position - for (BigDecimal tickPosition = firstPosition; tickPosition.compareTo(BigDecimal.valueOf(maxValue + gridStep.doubleValue() * 0.2)) <= 0; tickPosition = tickPosition.add(gridStep)) { + for (BigDecimal tickPosition = scaledfirstPosition; tickPosition.compareTo(BigDecimal.valueOf(maxValue + gridStep.doubleValue() * 0.2)) <= 0; tickPosition = tickPosition.add(gridStep)) { tickLabels.add(numberFormatter.formatNumber(tickPosition.doubleValue(), minValue, maxValue)); // here we convert tickPosition finally to plot space, i.e. pixels diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/NumberFormatter.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/NumberFormatter.java index a8c9783211d7fc07fa2b67605658bc6b97102ca7..3fd3da4b302c334598fcf6b20466773db2e79012 100644 --- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/NumberFormatter.java +++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/NumberFormatter.java @@ -62,12 +62,12 @@ public class NumberFormatter { System.out.println("placeOfValue: " + placeOfValue); if (placeOfDifference <= 4 && placeOfDifference >= -4) { - System.out.println("getNormalDecimalPattern"); + // System.out.println("getNormalDecimalPattern"); return getNormalDecimalPatternPositive(placeOfValue, placeOfDifference); } else { - System.out.println("getScientificDecimalPattern"); - return getScientificDecimalPattern(placeOfValue, placeOfDifference); + // System.out.println("getScientificDecimalPattern"); + return getScientificDecimalPattern(); } } @@ -97,18 +97,9 @@ public class NumberFormatter { return sb.toString(); } - private String getScientificDecimalPattern(int placeOfValue, int placeOfDifference) { + private String getScientificDecimalPattern() { - StringBuilder sb = new StringBuilder(); - for (int i = placeOfValue; i >= 0; i--) { - sb.append("0"); - if (i == placeOfDifference) { - sb.append("."); - } - } - sb.append("E0"); - System.out.println(sb.toString()); - return sb.toString(); + return "0E0"; } /**