Skip to content
Snippets Groups Projects
Commit bf0ae22f authored by Tim Molter's avatar Tim Molter
Browse files

fixed some more decimal formatting issues

parent 515c9bd0
No related branches found
No related tags found
No related merge requests found
......@@ -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);
......
......@@ -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);
......
......@@ -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
......
......@@ -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);
......
......@@ -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
......
......@@ -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
......
......@@ -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";
}
/**
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment