diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/Example1.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/Example1.java
index ea3bf42f814c66a92f0e08ddd8b330215eefd697..19e3cea8ee04eefc7318d0fc2a88d33455c70929 100644
--- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/Example1.java
+++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/Example1.java
@@ -74,7 +74,7 @@ public class Example1 implements ExampleChart {
Chart chart = new Chart(800, 600);
// Customize Chart
- chart.setTitle("Example1");
+ chart.setChartTitle("Example1");
chart.getStyleManager().setChartTitleVisible(false);
chart.getStyleManager().setLegendVisible(false);
diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/Example10.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/Example10.java
index a12b450b6927fe97e271500259be10bf5900f704..422ca389f82d3aef57364d28007b7e1e6e92edf0 100644
--- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/Example10.java
+++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/Example10.java
@@ -43,7 +43,7 @@ public class Example10 implements ExampleChart {
Chart chart = new Chart(800, 600);
// Customize Chart
- chart.setTitle("Example10");
+ chart.setChartTitle("Example10");
chart.setXAxisTitle("X");
chart.setYAxisTitle("Y");
chart.getStyleManager().setLegendVisible(false);
diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/Example2.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/Example2.java
index 01474ec667b2e1608519dc1036ed9332033bcd6b..7eae57a537a23f09de76adaa82fd30b54890678c 100644
--- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/Example2.java
+++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/Example2.java
@@ -16,7 +16,7 @@
package com.xeiam.xchart.demo.charts;
import java.util.ArrayList;
-import java.util.Collection;
+import java.util.List;
import com.xeiam.xchart.Chart;
import com.xeiam.xchart.SwingWrapper;
@@ -44,8 +44,8 @@ public class Example2 implements ExampleChart {
// generates sine data
int size = 30;
- Collection<Number> xData1 = new ArrayList<Number>();
- Collection<Number> yData1 = new ArrayList<Number>();
+ List<Number> xData1 = new ArrayList<Number>();
+ List<Number> yData1 = new ArrayList<Number>();
for (int i = 0; i <= size; i++) {
double radians = (Math.PI / (size / 2) * i);
xData1.add(i - size / 2);
diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/Example3.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/Example3.java
index fb0740aace5b148d848d5dfebb3601bd29a5311d..9b4659d3921bb221ab28468a67c42a56298e5d99 100644
--- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/Example3.java
+++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/Example3.java
@@ -53,7 +53,7 @@ public class Example3 implements ExampleChart {
}
// Customize Chart
- chart.setTitle("Example3");
+ chart.setChartTitle("Example3");
chart.setXAxisTitle("X");
chart.setYAxisTitle("Y");
diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/Example4.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/Example4.java
index 5884ae3498b245198553d50b86c14d4669233215..b73bb55a202f30376c9c02120b5a42fb9d4ec2a6 100644
--- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/Example4.java
+++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/Example4.java
@@ -65,10 +65,10 @@ public class Example4 implements ExampleChart {
}
// Customize Chart
- chart.setTitle("Example4");
+ chart.setChartTitle("Example4");
chart.setXAxisTitle("time of day");
chart.setYAxisTitle("gigawatts");
- chart.setTimezone(TimeZone.getTimeZone("UTC"));
+ chart.getValueFormatter().setTimezone(TimeZone.getTimeZone("UTC"));
Series series = chart.addDateSeries("value", xData, yData);
diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/Example5.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/Example5.java
index 5f90fba1ee2a367e5095b7e816042c22ae127ad0..7f8e95844f93e3477ee653bed065044a23693ae3 100644
--- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/Example5.java
+++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/Example5.java
@@ -39,7 +39,7 @@ public class Example5 implements ExampleChart {
Chart chart = new Chart(800, 600);
// Customize Chart
- chart.setTitle("Example5");
+ chart.setChartTitle("Example5");
chart.setXAxisTitle("X");
chart.setYAxisTitle("Y");
diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/Example6.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/Example6.java
index 0571a58c35f3a4cc7bb269c2b56ff27f2e40d73c..ef8b9e7326fc2be6ce876fa7888f8b1b89f80881 100644
--- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/Example6.java
+++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/Example6.java
@@ -39,7 +39,7 @@ public class Example6 implements ExampleChart {
Chart chart = new Chart(800, 600);
// Customize Chart
- chart.setTitle("Example6");
+ chart.setChartTitle("Example6");
chart.setXAxisTitle("X");
chart.setYAxisTitle("Y");
diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/Example7.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/Example7.java
index f995d3665b7f10cbcb9850a6e65dfbd7bd001fd9..0b006b1dd0897cad26b34921e61ae98e28ce6825 100644
--- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/Example7.java
+++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/Example7.java
@@ -43,7 +43,7 @@ public class Example7 implements ExampleChart {
// Create Chart
Chart chart = new Chart(800, 600);
- chart.setTitle("Example7");
+ chart.setChartTitle("Example7");
chart.setXAxisTitle("X");
chart.setYAxisTitle("Y");
chart.addSeries("y(x)", xData, yData);
diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/Example9.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/Example9.java
index be243f17d30119cea3d9f315db698b76d130fa18..9d669ed86f96d55f49c132dc19b0df2fb122840f 100644
--- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/Example9.java
+++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/Example9.java
@@ -71,11 +71,11 @@ public class Example9 implements ExampleChart {
}
// Customize Chart
- chart.setTitle("Sample Chart Extensive Cusomization");
+ chart.setChartTitle("Sample Chart Extensive Cusomization");
chart.setXAxisTitle("X");
chart.setYAxisTitle("Y");
- chart.setForegroundColor(ChartColor.getAWTColor(ChartColor.GREY));
- chart.setGridLinesColor(new Color(255, 255, 255));
+ chart.getStyleManager().setPlotBackgroundColor(ChartColor.getAWTColor(ChartColor.GREY));
+ chart.getStyleManager().setPlotGridLinesColor(new Color(255, 255, 255));
chart.getStyleManager().setChartBackgroundColor(Color.WHITE);
chart.getStyleManager().setLegendBackgroundColor(Color.PINK);
chart.getStyleManager().setChartBordersColor(Color.GREEN);
@@ -84,9 +84,9 @@ public class Example9 implements ExampleChart {
chart.getStyleManager().setLegendFont(new Font(Font.SERIF, Font.PLAIN, 18));
chart.getStyleManager().setAxisTitleFont(new Font(Font.SANS_SERIF, Font.ITALIC, 18));
chart.getStyleManager().setAxisTicksFont(new Font(Font.SERIF, Font.PLAIN, 11));
- chart.setDateFormatter("dd-MMM");
- chart.setDecmialFormatter("#.000");
- chart.setLocale(Locale.GERMAN);
+ chart.getValueFormatter().setDatePattern("dd-MMM");
+ chart.getValueFormatter().setNormalDecimalPattern("#.000");
+ chart.getValueFormatter().setLocale(Locale.GERMAN);
Series series = chart.addDateSeries("Fake Data", xData, yData);
series.setLineColor(SeriesColor.BLUE);
diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/example/Example1.java b/xchart-demo/src/main/java/com/xeiam/xchart/example/Example1.java
index 8ee1128d80dab9af7dcf087ee437d4a45d28397b..86154f306ce001ff3507d948fdbd1bfbde189a88 100644
--- a/xchart-demo/src/main/java/com/xeiam/xchart/example/Example1.java
+++ b/xchart-demo/src/main/java/com/xeiam/xchart/example/Example1.java
@@ -31,7 +31,7 @@ public class Example1 {
// Create Chart
Chart chart = new Chart(500, 400);
- chart.setTitle("Sample Chart");
+ chart.setChartTitle("Sample Chart");
chart.setXAxisTitle("X");
chart.setYAxisTitle("Y");
chart.addSeries("y(x)", null, yData);
diff --git a/xchart/src/main/java/com/xeiam/xchart/Chart.java b/xchart/src/main/java/com/xeiam/xchart/Chart.java
index 20fd197177899c9ebb538c829b3b6b64ac807e4d..eea0356453aa4b4f0d05cb725ef0442e90c88c75 100644
--- a/xchart/src/main/java/com/xeiam/xchart/Chart.java
+++ b/xchart/src/main/java/com/xeiam/xchart/Chart.java
@@ -15,14 +15,11 @@
*/
package com.xeiam.xchart;
-import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
-import java.util.Locale;
-import java.util.TimeZone;
import com.xeiam.xchart.internal.chartpart.AxisPair;
import com.xeiam.xchart.internal.chartpart.ChartTitle;
@@ -30,6 +27,7 @@ import com.xeiam.xchart.internal.chartpart.Legend;
import com.xeiam.xchart.internal.chartpart.Plot;
import com.xeiam.xchart.style.Series;
import com.xeiam.xchart.style.StyleManager;
+import com.xeiam.xchart.style.ValueFormatter;
import com.xeiam.xchart.style.theme.Theme;
/**
@@ -43,6 +41,7 @@ public class Chart {
public int height;
private StyleManager styleManager = new StyleManager();
+ private ValueFormatter valueFormatter = new ValueFormatter();
// Chart Parts
public ChartTitle chartTitle = new ChartTitle(this);
@@ -71,7 +70,7 @@ public class Chart {
public Chart(ChartBuilder chartBuilder) {
this(chartBuilder.width, chartBuilder.height);
- setTitle(chartBuilder.title);
+ setChartTitle(chartBuilder.title);
setXAxisTitle(chartBuilder.xAxisTitle);
setYAxisTitle(chartBuilder.yAxisTitle);
styleManager.setLegendVisible(chartBuilder.isLegendVisible);
@@ -219,7 +218,7 @@ public class Chart {
*
* @param title
*/
- public void setTitle(String title) {
+ public void setChartTitle(String title) {
this.chartTitle.setText(title);
}
@@ -236,7 +235,7 @@ public class Chart {
} else {
styleManager.setxAxisTitleVisible(true);
}
- this.axisPair.xAxis.axisTitle.setText(title);
+ this.axisPair.xAxis.axisTitle.text = title;
}
/**
@@ -251,81 +250,7 @@ public class Chart {
} else {
styleManager.setyAxisTitleVisible(true);
}
- this.axisPair.yAxis.axisTitle.setText(title);
- }
-
- /**
- * Set the chart foreground color - the part the series are drawn on
- *
- * @param color
- */
- public void setForegroundColor(Color color) {
-
- this.plot.plotSurface.setForegroundColor(color);
- }
-
- /**
- * Set the chart grid lines color
- *
- * @param color
- */
- public void setGridLinesColor(Color color) {
-
- this.plot.plotSurface.setGridLinesColor(color);
- }
-
- /**
- * Set the String formatter for Data x-axis
- *
- * @param pattern - the pattern describing the date and time format
- */
- public void setDateFormatter(String pattern) {
-
- this.axisPair.xAxis.axisTick.datePattern = pattern;
- }
-
- /**
- * Set the decimal formatter for all tick labels
- *
- * @param pattern - the pattern describing the decimal format
- */
- public void setDecmialFormatter(String pattern) {
-
- this.axisPair.xAxis.axisTick.normalDecimalPattern = pattern;
- this.axisPair.yAxis.axisTick.normalDecimalPattern = pattern;
- }
-
- /**
- * Set the scientific notation formatter for all tick labels
- *
- * @param pattern - the pattern describing the scientific notation format
- */
- public void setDecmialScientificFormatter(String pattern) {
-
- this.axisPair.xAxis.axisTick.scientificDecimalPattern = pattern;
- this.axisPair.yAxis.axisTick.scientificDecimalPattern = pattern;
- }
-
- /**
- * Set the locale to use for rendering the chart
- *
- * @param locale - the locale to use when formatting Strings and dates for the axis tick labels
- */
- public void setLocale(Locale locale) {
-
- this.axisPair.xAxis.axisTick.locale = locale;
- this.axisPair.yAxis.axisTick.locale = locale;
- }
-
- /**
- * Set the timezone to use for formatting Date axis tick labels
- *
- * @param timezone the timezone to use when formatting date data
- */
- public void setTimezone(TimeZone timezone) {
-
- this.axisPair.xAxis.axisTick.timezone = timezone;
- this.axisPair.yAxis.axisTick.timezone = timezone;
+ this.axisPair.yAxis.axisTitle.text = title;
}
/**
@@ -349,4 +274,14 @@ public class Chart {
}
+ /**
+ * Gets the Chart's value formatter, which can be used to customize the formatting of numbers and dates
+ *
+ * @return
+ */
+ public ValueFormatter getValueFormatter() {
+
+ return valueFormatter;
+ }
+
}
diff --git a/xchart/src/main/java/com/xeiam/xchart/QuickChart.java b/xchart/src/main/java/com/xeiam/xchart/QuickChart.java
index 4ac80f6cc79fee6db1ee29cba49aa533fe9feb37..2d4249b0b29576b3fbef74b03351ae40b56b0013 100644
--- a/xchart/src/main/java/com/xeiam/xchart/QuickChart.java
+++ b/xchart/src/main/java/com/xeiam/xchart/QuickChart.java
@@ -75,7 +75,7 @@ public final class QuickChart {
Chart chart = new Chart(WIDTH, HEIGHT);
// Customize Chart
- chart.setTitle(chartTitle);
+ chart.setChartTitle(chartTitle);
chart.setXAxisTitle(xTitle);
chart.setYAxisTitle(yTitle);
@@ -111,7 +111,7 @@ public final class QuickChart {
Chart chart = new Chart(WIDTH, HEIGHT);
// Customize Chart
- chart.setTitle(chartTitle);
+ chart.setChartTitle(chartTitle);
chart.setXAxisTitle(xTitle);
chart.setYAxisTitle(yTitle);
diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/Axis.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/Axis.java
index e3bcc2c22932e4274d1769cc93ba5a0832e9a730..e40618ea14f95bc4c1d2e58f1bceed67d2d96ac3 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/Axis.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/Axis.java
@@ -142,7 +142,7 @@ public class Axis implements IChartPart {
// Axis title
double titleHeight = 0.0;
if (axisPair.chart.getStyleManager().isxAxisTitleVisible()) {
- TextLayout textLayout = new TextLayout(axisTitle.getText(), axisTick.axis.axisPair.chart.getStyleManager().getAxisTitleFont(), new FontRenderContext(null, true, false));
+ TextLayout textLayout = new TextLayout(axisTitle.text, axisTick.axis.axisPair.chart.getStyleManager().getAxisTitleFont(), new FontRenderContext(null, true, false));
Rectangle rectangle = textLayout.getPixelBounds(null, 0, 0);
titleHeight = rectangle.getHeight() + axisTick.axis.axisPair.chart.getStyleManager().getAxisTitlePadding();
}
diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTick.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTick.java
index 20207578887045c8bb6356b22614da439f1e4cd5..9ecf6fc4e7ba5db6bff907c2c753802e90202552 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTick.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTick.java
@@ -26,7 +26,6 @@ import java.util.TimeZone;
import com.xeiam.xchart.internal.chartpart.Axis.AxisType;
import com.xeiam.xchart.internal.chartpart.Axis.Direction;
import com.xeiam.xchart.internal.interfaces.IChartPart;
-import com.xeiam.xchart.internal.misc.AxisValueFormatterUtil;
/**
* An axis tick
@@ -75,7 +74,8 @@ public class AxisTick implements IChartPart {
/**
* Constructor
*
- * @param axis the axis
+ * @param axis
+ * @param isVisible
*/
protected AxisTick(Axis axis, boolean isVisible) {
@@ -83,7 +83,6 @@ public class AxisTick implements IChartPart {
this.isVisible = isVisible;
axisTickLabels = new AxisTickLabels(this);
axisTickMarks = new AxisTickMarks(this);
-
}
@Override
@@ -255,11 +254,11 @@ public class AxisTick implements IChartPart {
if (axis.axisType == AxisType.NUMBER) {
- return AxisValueFormatterUtil.formatNumber(value, normalDecimalPattern, scientificDecimalPattern, locale);
+ return axis.axisPair.chart.getValueFormatter().formatNumber(value);
} else {
- return AxisValueFormatterUtil.formatDateValue(value, axis.min, axis.max, datePattern, locale, timezone);
+ return axis.axisPair.chart.getValueFormatter().formatDateValue(value, axis.min, axis.max);
}
}
diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickMarks.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickMarks.java
index 1acf0741e4d737b0e08b0fdb4d7fed6043ba64a6..4eb497e3c3c9d8e954fc8b2d1624cd45cf9d7c2e 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickMarks.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickMarks.java
@@ -76,11 +76,13 @@ public class AxisTickMarks implements IChartPart {
+ (int) (axisTick.axis.getPaintZone().getHeight() - tickLocation));
}
+
// Line
if (axisTick.axis.axisPair.chart.getStyleManager().isAxisTicksLineVisible()) {
g.drawLine(xOffset + axisTick.axis.axisPair.chart.getStyleManager().getAxisTickMarkLength(), yOffset, xOffset + axisTick.axis.axisPair.chart.getStyleManager().getAxisTickMarkLength(), yOffset
+ (int) axisTick.axis.getPaintZone().getHeight());
}
+
// bounds
bounds = new Rectangle(xOffset, yOffset, axisTick.axis.axisPair.chart.getStyleManager().getAxisTickMarkLength(), (int) axisTick.axis.getPaintZone().getHeight());
// g.setColor(Color.yellow);
diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTitle.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTitle.java
index fa0391a6a4c9a2bcc071e5e3edb1429ad7f2ab7f..95d4dc693404a7b09e4e3d0db3ab81f05fe02d06 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTitle.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTitle.java
@@ -32,7 +32,7 @@ public class AxisTitle implements IChartPart {
private final Axis axis;
/** the title text */
- protected String text = ""; // default to ""
+ public String text = ""; // default to ""
/** the bounds */
private Rectangle bounds;
@@ -47,16 +47,6 @@ public class AxisTitle implements IChartPart {
this.axis = axis;
}
- protected String getText() {
-
- return text;
- }
-
- public void setText(String text) {
-
- this.text = text;
- }
-
@Override
public Rectangle getBounds() {
diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/ChartTitle.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/ChartTitle.java
index 654db3bd9f03a776c01b47d71ad70d32d77aad37..3a15ac5a3e8a641a765381ad48daf63d6051dc94 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/ChartTitle.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/ChartTitle.java
@@ -47,6 +47,11 @@ public class ChartTitle implements IChartPart {
this.chart = chart;
}
+ /**
+ * set the chart title's text
+ *
+ * @param text
+ */
public void setText(String text) {
if (text.trim().equalsIgnoreCase("")) {
diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotContent.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotContent.java
index b9749e419342c49ece0f5258cf67901e1dba91e5..0d21bb9c32549810f4bf7314c49fabb28278cf0c 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotContent.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotContent.java
@@ -18,6 +18,7 @@ package com.xeiam.xchart.internal.chartpart;
import java.awt.BasicStroke;
import java.awt.Graphics2D;
import java.awt.Rectangle;
+import java.awt.Stroke;
import java.math.BigDecimal;
import java.util.Collection;
import java.util.Date;
@@ -36,6 +37,8 @@ public class PlotContent implements IChartPart {
/** parent */
private Plot plot;
+ Stroke errorBarStroke = new BasicStroke(1, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL);
+
/**
* Constructor
*
@@ -145,8 +148,8 @@ public class PlotContent implements IChartPart {
// paint errorbar
if (errorBars != null) {
- g.setColor(plot.chart.getStyleManager().getChartBordersColor());
- g.setStroke(new BasicStroke(1, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL));
+ g.setColor(plot.chart.getStyleManager().getErrorBarsColor());
+ g.setStroke(errorBarStroke);
int bottom = (int) (-1 * bounds.getHeight() * eb / (yMax.subtract(yMin).doubleValue()));
int top = (int) (bounds.getHeight() * eb / (yMax.subtract(yMin).doubleValue()));
g.drawLine(xOffset, yOffset + bottom, xOffset, yOffset + top);
diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotSurface.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotSurface.java
index 146f766b765f0aa0d71fc7f23e7b1c692116daa0..d0ab69f610a9856f3851bbc10e41b44cba107f0f 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotSurface.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotSurface.java
@@ -16,13 +16,11 @@
package com.xeiam.xchart.internal.chartpart;
import java.awt.BasicStroke;
-import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.util.List;
import com.xeiam.xchart.internal.interfaces.IChartPart;
-import com.xeiam.xchart.style.ChartColor;
/**
* @author timmolter
@@ -32,14 +30,8 @@ public class PlotSurface implements IChartPart {
/** parent */
private Plot plot;
- /** the gridLines Color */
- private Color gridLinesColor;
-
- /** the background color */
- private Color foregroundColor;
-
/** the line style */
- private BasicStroke stroke;
+ private BasicStroke stroke = new BasicStroke(1, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL, 10.0f, new float[] { 3.0f, 3.0f }, 0.0f);
/**
* Constructor
@@ -49,9 +41,6 @@ public class PlotSurface implements IChartPart {
protected PlotSurface(Plot plot) {
this.plot = plot;
- gridLinesColor = ChartColor.getAWTColor(ChartColor.GREY); // default gridLines color
- foregroundColor = ChartColor.getAWTColor(ChartColor.LIGHT_GREY); // default foreground Color color
- stroke = new BasicStroke(1, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL, 10.0f, new float[] { 3.0f, 3.0f }, 0.0f);
}
@Override
@@ -65,9 +54,9 @@ public class PlotSurface implements IChartPart {
Rectangle bounds = plot.getBounds();
- // paint foreground
+ // paint plot background
Rectangle backgroundRectangle = new Rectangle((int) bounds.getX() - 1, (int) bounds.getY(), (int) (bounds.getWidth()), (int) bounds.getHeight());
- g.setColor(foregroundColor);
+ g.setColor(plot.chart.getStyleManager().getPlotBackgroundColor());
g.fill(backgroundRectangle);
Rectangle borderRectangle = new Rectangle((int) bounds.getX() - 1, (int) bounds.getY(), (int) (bounds.getWidth()), (int) bounds.getHeight());
g.setColor(plot.chart.getStyleManager().getChartBordersColor());
@@ -75,13 +64,14 @@ public class PlotSurface implements IChartPart {
// paint grid lines
if (plot.chart.getStyleManager().isPlotGridLinesVisible()) {
+
// horizontal
List<Integer> yAxisTickLocations = plot.chart.axisPair.yAxis.axisTick.tickLocations;
for (int i = 0; i < yAxisTickLocations.size(); i++) {
int tickLocation = yAxisTickLocations.get(i);
- g.setColor(gridLinesColor);
+ g.setColor(plot.chart.getStyleManager().getPlotGridLinesColor());
g.setStroke(stroke);
// System.out.println("bounds.getY()= " + bounds.getY());
g.drawLine((int) bounds.getX(), (int) (bounds.getY() + bounds.getHeight() - tickLocation), (int) (bounds.getX() + bounds.getWidth() - 2),
@@ -94,7 +84,7 @@ public class PlotSurface implements IChartPart {
int tickLocation = xAxisTickLocations.get(i);
- g.setColor(gridLinesColor);
+ g.setColor(plot.chart.getStyleManager().getPlotGridLinesColor());
g.setStroke(stroke);
g.drawLine((int) (bounds.getX() + tickLocation - 1), (int) (bounds.getY() + 1), (int) (bounds.getX() + tickLocation - 1), (int) (bounds.getY() + bounds.getHeight() - 1));
@@ -102,20 +92,4 @@ public class PlotSurface implements IChartPart {
}
}
- /**
- * @param gridLinesColor the gridLinesColor to set
- */
- public void setGridLinesColor(Color gridLinesColor) {
-
- this.gridLinesColor = gridLinesColor;
- }
-
- /**
- * @param foregroundColor the foregroundColor to set
- */
- public void setForegroundColor(Color foregroundColor) {
-
- this.foregroundColor = foregroundColor;
- }
-
}
diff --git a/xchart/src/main/java/com/xeiam/xchart/style/StyleManager.java b/xchart/src/main/java/com/xeiam/xchart/style/StyleManager.java
index 6988a7446a3650b761706101d1f94a5fd8053b49..cccfe42482d4875f45f4c311f4e81cc6ac974d99 100644
--- a/xchart/src/main/java/com/xeiam/xchart/style/StyleManager.java
+++ b/xchart/src/main/java/com/xeiam/xchart/style/StyleManager.java
@@ -66,6 +66,11 @@ public class StyleManager {
// Chart Plot Area ///////////////////////////////
private boolean isPlotGridLinesVisible;
+ private Color plotBackgroundColor;
+ private Color plotGridLinesColor;
+
+ // Error Bars ///////////////////////////////
+ private Color errorBarsColor;
/**
* Constructor
@@ -108,6 +113,11 @@ public class StyleManager {
// Chart Plot Area ///////////////////////////////
isPlotGridLinesVisible = theme.isPlotGridLinesVisible();
+ plotBackgroundColor = theme.getPlotBackgroundColor();
+ plotGridLinesColor = theme.getPlotGridLinesColor();
+
+ // Error Bars ///////////////////////////////
+ errorBarsColor = theme.getErrorBarsColor();
}
/**
@@ -486,4 +496,51 @@ public class StyleManager {
return isPlotGridLinesVisible;
}
+
+ /**
+ * set the plot area's background color
+ *
+ * @param plotBackgroundColor
+ */
+ public void setPlotBackgroundColor(Color plotBackgroundColor) {
+
+ this.plotBackgroundColor = plotBackgroundColor;
+ }
+
+ public Color getPlotBackgroundColor() {
+
+ return plotBackgroundColor;
+ }
+
+ /**
+ * set the plot area's grid lines color
+ *
+ * @param plotGridLinesColor
+ */
+ public void setPlotGridLinesColor(Color plotGridLinesColor) {
+
+ this.plotGridLinesColor = plotGridLinesColor;
+ }
+
+ public Color getPlotGridLinesColor() {
+
+ return plotGridLinesColor;
+ }
+
+ // Error Bars ///////////////////////////////
+
+ /**
+ * Sets the color of the error bars
+ *
+ * @param errorBarsColor
+ */
+ public void setErrorBarsColor(Color errorBarsColor) {
+
+ this.errorBarsColor = errorBarsColor;
+ }
+
+ public Color getErrorBarsColor() {
+
+ return errorBarsColor;
+ }
}
diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/misc/AxisValueFormatterUtil.java b/xchart/src/main/java/com/xeiam/xchart/style/ValueFormatter.java
similarity index 52%
rename from xchart/src/main/java/com/xeiam/xchart/internal/misc/AxisValueFormatterUtil.java
rename to xchart/src/main/java/com/xeiam/xchart/style/ValueFormatter.java
index 087c1284ab5052f431ffe505ba78c715c97f9354..19b15d428754e720e12c4e24dd059c3968ea84fd 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/misc/AxisValueFormatterUtil.java
+++ b/xchart/src/main/java/com/xeiam/xchart/style/ValueFormatter.java
@@ -19,7 +19,7 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
-package com.xeiam.xchart.internal.misc;
+package com.xeiam.xchart.style;
import java.math.BigDecimal;
import java.text.DecimalFormat;
@@ -32,13 +32,13 @@ import java.util.concurrent.TimeUnit;
/**
* @author timmolter
*/
-public class AxisValueFormatterUtil {
+public class ValueFormatter {
- private static final String NORMAL_DECIMAL_PATTERN = "#.####";
- private static final String SCIENTIFIC_DECIMAL_PATTERN = "0.##E0";
- private static final String DATE_PATTERN = "HHmmss";
- private static final Locale LOCALE = Locale.getDefault();
- private static final TimeZone TIMEZONE = TimeZone.getDefault();
+ private String normalDecimalPattern;
+ private String scientificDecimalPattern;
+ private String datePattern;
+ private Locale locale;
+ private TimeZone timezone;
private static final long SEC_SCALE = TimeUnit.SECONDS.toMillis(1L);
private static final long MIN_SCALE = TimeUnit.MINUTES.toMillis(1L);
@@ -51,35 +51,37 @@ public class AxisValueFormatterUtil {
/**
* Constructor
*/
- private AxisValueFormatterUtil() {
+ public ValueFormatter() {
+ normalDecimalPattern = "#.####";
+ scientificDecimalPattern = "0.##E0";
+ datePattern = "HHmmss";
+ locale = Locale.getDefault();
+ timezone = TimeZone.getDefault();
}
/**
* Format a number value, if the override patterns are null, it uses defaults
*
* @param value
- * @param normalDecimalPatternOverride
- * @param scientificDecimalPatternOverride
- * @param localeOverride
- * @return the formatted number as a String
+ * @return
*/
- public static String formatNumber(BigDecimal value, String normalDecimalPatternOverride, String scientificDecimalPatternOverride, Locale localeOverride) {
+ public String formatNumber(BigDecimal value) {
- NumberFormat numberFormat = NumberFormat.getNumberInstance(localeOverride == null ? LOCALE : localeOverride);
+ NumberFormat numberFormat = NumberFormat.getNumberInstance(locale);
BigDecimal absoluteValue = value.abs();
if (absoluteValue.compareTo(new BigDecimal("10000.000001")) == -1 && absoluteValue.compareTo(new BigDecimal(".0009999999")) == 1 || BigDecimal.ZERO.compareTo(value) == 0) {
DecimalFormat normalFormat = (DecimalFormat) numberFormat;
- normalFormat.applyPattern(normalDecimalPatternOverride == null ? NORMAL_DECIMAL_PATTERN : normalDecimalPatternOverride);
+ normalFormat.applyPattern(normalDecimalPattern);
return normalFormat.format(value);
} else {
DecimalFormat scientificFormat = (DecimalFormat) numberFormat;
- scientificFormat.applyPattern(scientificDecimalPatternOverride == null ? SCIENTIFIC_DECIMAL_PATTERN : scientificDecimalPatternOverride);
+ scientificFormat.applyPattern(scientificDecimalPattern);
return scientificFormat.format(value);
}
@@ -92,42 +94,86 @@ public class AxisValueFormatterUtil {
* @param value
* @param min
* @param max
- * @param datePatternOverride
- * @param localeOverride
- * @return the formatted date value as a String
+ * @return
*/
- public static String formatDateValue(BigDecimal value, BigDecimal min, BigDecimal max, String datePatternOverride, Locale localeOverride, TimeZone timeZoneOverride) {
-
- // intelligently set datepattern if none is given
- String datePattern = datePatternOverride;
- if (datePatternOverride == null) {
- datePattern = DATE_PATTERN;
- long diff = max.subtract(min).longValue();
-
- if (diff < SEC_SCALE) {
- datePattern = "ss:S";
- } else if (diff < MIN_SCALE) {
- datePattern = "mm:ss";
- } else if (diff < HOUR_SCALE) {
- datePattern = "HH:mm";
- } else if (diff < DAY_SCALE) {
- datePattern = "EEE HH:mm";
- } else if (diff < WEEK_SCALE) {
- datePattern = "EEE";
- } else if (diff < MONTH_SCALE) {
- datePattern = "MMM-dd";
- } else if (diff < YEAR_SCALE) {
- datePattern = "yyyy:MMM";
- } else {
- datePattern = "yyyy";
- }
-
+ public String formatDateValue(BigDecimal value, BigDecimal min, BigDecimal max) {
+
+ // intelligently set date pattern if none is given
+ long diff = max.subtract(min).longValue();
+
+ if (diff < SEC_SCALE) {
+ datePattern = "ss:S";
+ } else if (diff < MIN_SCALE) {
+ datePattern = "mm:ss";
+ } else if (diff < HOUR_SCALE) {
+ datePattern = "HH:mm";
+ } else if (diff < DAY_SCALE) {
+ datePattern = "EEE HH:mm";
+ } else if (diff < WEEK_SCALE) {
+ datePattern = "EEE";
+ } else if (diff < MONTH_SCALE) {
+ datePattern = "MMM-dd";
+ } else if (diff < YEAR_SCALE) {
+ datePattern = "yyyy:MMM";
+ } else {
+ datePattern = "yyyy";
}
- SimpleDateFormat simpleDateformat = new SimpleDateFormat(datePattern, localeOverride == null ? LOCALE : localeOverride);
- simpleDateformat.setTimeZone(timeZoneOverride == null ? TIMEZONE : timeZoneOverride);
+ SimpleDateFormat simpleDateformat = new SimpleDateFormat(datePattern, locale);
+ simpleDateformat.setTimeZone(timezone);
simpleDateformat.applyPattern(datePattern);
return simpleDateformat.format(value.longValueExact());
}
+
+ /**
+ * Set the decimal formatter for all tick labels
+ *
+ * @param pattern - the pattern describing the decimal format
+ */
+ public void setNormalDecimalPattern(String normalDecimalPattern) {
+
+ this.normalDecimalPattern = normalDecimalPattern;
+ }
+
+ /**
+ * Set the scientific notation formatter for all tick labels
+ *
+ * @param pattern - the pattern describing the scientific notation format
+ */
+ public void setScientificDecimalPattern(String scientificDecimalPattern) {
+
+ this.scientificDecimalPattern = scientificDecimalPattern;
+ }
+
+ /**
+ * Set the String formatter for Data x-axis
+ *
+ * @param pattern - the pattern describing the date and time format
+ */
+ public void setDatePattern(String datePattern) {
+
+ this.datePattern = datePattern;
+ }
+
+ /**
+ * Set the locale to use for rendering the chart
+ *
+ * @param locale - the locale to use when formatting Strings and dates for the axis tick labels
+ */
+ public void setLocale(Locale locale) {
+
+ this.locale = locale;
+ }
+
+ /**
+ * Set the timezone to use for formatting Date axis tick labels
+ *
+ * @param timezone the timezone to use when formatting date data
+ */
+ public void setTimezone(TimeZone timezone) {
+
+ this.timezone = timezone;
+ }
+
}
diff --git a/xchart/src/main/java/com/xeiam/xchart/style/theme/Theme.java b/xchart/src/main/java/com/xeiam/xchart/style/theme/Theme.java
index b31cefa25b2e73696dbeffb635659ce37adcfd47..0cac20f37ef42b4c27590bb3bfb67b52a49ca193 100644
--- a/xchart/src/main/java/com/xeiam/xchart/style/theme/Theme.java
+++ b/xchart/src/main/java/com/xeiam/xchart/style/theme/Theme.java
@@ -83,4 +83,12 @@ public interface Theme {
public boolean isPlotGridLinesVisible();
+ public Color getPlotBackgroundColor();
+
+ public Color getPlotGridLinesColor();
+
+ // Error Bars ///////////////////////////////
+
+ public Color getErrorBarsColor();
+
}
diff --git a/xchart/src/main/java/com/xeiam/xchart/style/theme/XChartTheme.java b/xchart/src/main/java/com/xeiam/xchart/style/theme/XChartTheme.java
index 86d69e425bfa4fdd2d8fc65366083000b178ac3e..c8694e8b28c839bed9b57b1bb59f88e3b2408914 100644
--- a/xchart/src/main/java/com/xeiam/xchart/style/theme/XChartTheme.java
+++ b/xchart/src/main/java/com/xeiam/xchart/style/theme/XChartTheme.java
@@ -172,4 +172,25 @@ public class XChartTheme implements Theme {
return true;
}
+
+ @Override
+ public Color getPlotBackgroundColor() {
+
+ return ChartColor.getAWTColor(ChartColor.LIGHT_GREY);
+ }
+
+ @Override
+ public Color getPlotGridLinesColor() {
+
+ return ChartColor.getAWTColor(ChartColor.GREY);
+ }
+
+ // Error Bars ///////////////////////////////
+
+ @Override
+ public Color getErrorBarsColor() {
+
+ return ChartColor.getAWTColor(ChartColor.DARK_GREY);
+ }
+
}
diff --git a/xchart/src/test/java/com/xeiam/xchart/ValueFormatTest.java b/xchart/src/test/java/com/xeiam/xchart/ValueFormatterTest.java
similarity index 68%
rename from xchart/src/test/java/com/xeiam/xchart/ValueFormatTest.java
rename to xchart/src/test/java/com/xeiam/xchart/ValueFormatterTest.java
index 25b13ddb10accdfd63b7a04e9af1fab76bda6c16..3c266f11e344905fd8f9c4c8b3aab6b96c422594 100644
--- a/xchart/src/test/java/com/xeiam/xchart/ValueFormatTest.java
+++ b/xchart/src/test/java/com/xeiam/xchart/ValueFormatterTest.java
@@ -30,68 +30,71 @@ import java.util.TimeZone;
import org.junit.Test;
-import com.xeiam.xchart.internal.misc.AxisValueFormatterUtil;
+import com.xeiam.xchart.style.ValueFormatter;
/**
* @author timmolter
*/
-public class ValueFormatTest {
+public class ValueFormatterTest {
private final Locale locale = Locale.US;
@Test
public void testNumberFormatting() {
+ ValueFormatter axisTickLabelFormatter = new ValueFormatter();
+
// big
+ axisTickLabelFormatter.setLocale(locale);
BigDecimal value = new BigDecimal("1");
- String stringValue = AxisValueFormatterUtil.formatNumber(value, null, null, locale);
+ String stringValue = axisTickLabelFormatter.formatNumber(value);
assertThat(stringValue, equalTo("1"));
value = new BigDecimal(1000L);
- stringValue = AxisValueFormatterUtil.formatNumber(value, null, null, locale);
+ stringValue = axisTickLabelFormatter.formatNumber(value);
assertThat(stringValue, equalTo("1000"));
value = new BigDecimal("9999");
- stringValue = AxisValueFormatterUtil.formatNumber(value, null, null, locale);
+ stringValue = axisTickLabelFormatter.formatNumber(value);
assertThat(stringValue, equalTo("9999"));
value = new BigDecimal(20000L);
- stringValue = AxisValueFormatterUtil.formatNumber(value, null, null, locale);
+ stringValue = axisTickLabelFormatter.formatNumber(value);
assertThat(stringValue, equalTo("2E4"));
value = new BigDecimal("200.23");
- stringValue = AxisValueFormatterUtil.formatNumber(value, null, null, locale);
+ stringValue = axisTickLabelFormatter.formatNumber(value);
assertThat(stringValue, equalTo("200.23"));
// small
value = new BigDecimal("0.01");
- stringValue = AxisValueFormatterUtil.formatNumber(value, null, null, locale);
+ stringValue = axisTickLabelFormatter.formatNumber(value);
assertThat(stringValue, equalTo("0.01"));
value = new BigDecimal("0.001");
- stringValue = AxisValueFormatterUtil.formatNumber(value, null, null, locale);
+ stringValue = axisTickLabelFormatter.formatNumber(value);
assertThat(stringValue, equalTo("0.001"));
value = new BigDecimal("0.0012");
- stringValue = AxisValueFormatterUtil.formatNumber(value, null, null, locale);
+ stringValue = axisTickLabelFormatter.formatNumber(value);
assertThat(stringValue, equalTo("0.0012"));
value = new BigDecimal("0.0001");
- stringValue = AxisValueFormatterUtil.formatNumber(value, null, null, locale);
+ stringValue = axisTickLabelFormatter.formatNumber(value);
assertThat(stringValue, equalTo("1E-4"));
value = new BigDecimal(".00012");
- stringValue = AxisValueFormatterUtil.formatNumber(value, null, null, locale);
+ stringValue = axisTickLabelFormatter.formatNumber(value);
assertThat(stringValue, equalTo("1.2E-4"));
value = new BigDecimal("0.0");
- stringValue = AxisValueFormatterUtil.formatNumber(value, null, null, locale);
+ stringValue = axisTickLabelFormatter.formatNumber(value);
assertThat(stringValue, equalTo("0"));
value = new BigDecimal("0");
- stringValue = AxisValueFormatterUtil.formatNumber(value, null, null, locale);
+ stringValue = axisTickLabelFormatter.formatNumber(value);
assertThat(stringValue, equalTo("0"));
// other case
@@ -107,21 +110,24 @@ public class ValueFormatTest {
// assertThat(stringValue, equalTo("0.01"));
// non-default
+ axisTickLabelFormatter.setLocale(Locale.GERMANY);
value = new BigDecimal("0.01");
- stringValue = AxisValueFormatterUtil.formatNumber(value, null, null, Locale.GERMANY);
+ stringValue = axisTickLabelFormatter.formatNumber(value);
assertThat(stringValue, equalTo("0,01"));
value = new BigDecimal("200.23");
- stringValue = AxisValueFormatterUtil.formatNumber(value, null, null, Locale.GERMANY);
+ stringValue = axisTickLabelFormatter.formatNumber(value);
assertThat(stringValue, equalTo("200,23"));
+ axisTickLabelFormatter.setNormalDecimalPattern("#.#");
value = new BigDecimal("200.23");
- stringValue = AxisValueFormatterUtil.formatNumber(value, "#.#", null, Locale.GERMANY);
+ stringValue = axisTickLabelFormatter.formatNumber(value);
assertThat(stringValue, equalTo("200,2"));
+ axisTickLabelFormatter.setScientificDecimalPattern("0.#E0");
value = new BigDecimal("2009764.23");
- stringValue = AxisValueFormatterUtil.formatNumber(value, null, "0.#E0", Locale.GERMANY);
+ stringValue = axisTickLabelFormatter.formatNumber(value);
assertThat(stringValue, equalTo("2E6"));
}
@@ -129,62 +135,67 @@ public class ValueFormatTest {
@Test
public void testDateFormatting() {
+ ValueFormatter axisTickLabelFormatter = new ValueFormatter();
+
TimeZone timeZone = TimeZone.getTimeZone("UTC");
+ axisTickLabelFormatter.setLocale(locale);
+ axisTickLabelFormatter.setTimezone(timeZone);
+
// ms
BigDecimal value = new BigDecimal(1358108105531L);
BigDecimal min = new BigDecimal(1358108105100L);
BigDecimal max = new BigDecimal(1358108105900L);
- String stringValue = AxisValueFormatterUtil.formatDateValue(value, min, max, null, locale, timeZone);
+ String stringValue = axisTickLabelFormatter.formatDateValue(value, min, max);
assertThat(stringValue, equalTo("05:531"));
// sec
value = new BigDecimal(1358108105000L);
min = new BigDecimal(1358108101000L);
max = new BigDecimal(1358108109000L);
- stringValue = AxisValueFormatterUtil.formatDateValue(value, min, max, null, locale, timeZone);
+ stringValue = axisTickLabelFormatter.formatDateValue(value, min, max);
assertThat(stringValue, equalTo("15:05"));
// min
value = new BigDecimal(1358111750000L);
min = new BigDecimal(1358111690000L);
max = new BigDecimal(1358111870000L);
- stringValue = AxisValueFormatterUtil.formatDateValue(value, min, max, null, locale, timeZone);
+ stringValue = axisTickLabelFormatter.formatDateValue(value, min, max);
assertThat(stringValue, equalTo("21:15"));
// hour
value = new BigDecimal(1358111870000L);
min = new BigDecimal(1358101070000L);
max = new BigDecimal(1358115470000L);
- stringValue = AxisValueFormatterUtil.formatDateValue(value, min, max, null, locale, timeZone);
+ stringValue = axisTickLabelFormatter.formatDateValue(value, min, max);
assertThat(stringValue, equalTo("Sun 21:17"));
// day
value = new BigDecimal(1358112317000L);
min = new BigDecimal(1357939517000L);
max = new BigDecimal(1358285117000L);
- stringValue = AxisValueFormatterUtil.formatDateValue(value, min, max, null, locale, timeZone);
+ stringValue = axisTickLabelFormatter.formatDateValue(value, min, max);
assertThat(stringValue, equalTo("Sun"));
// week
value = new BigDecimal(1358112317000L);
min = new BigDecimal(1357075517000L);
max = new BigDecimal(1359149117000L);
- stringValue = AxisValueFormatterUtil.formatDateValue(value, min, max, null, locale, timeZone);
+ stringValue = axisTickLabelFormatter.formatDateValue(value, min, max);
assertThat(stringValue, equalTo("Jan-13"));
// month
value = new BigDecimal(1358112838000L);
min = new BigDecimal(1354397638000L);
max = new BigDecimal(1361223238000L);
- stringValue = AxisValueFormatterUtil.formatDateValue(value, min, max, null, locale, timeZone);
+ stringValue = axisTickLabelFormatter.formatDateValue(value, min, max);
assertThat(stringValue, equalTo("2013:Jan"));
// year
value = new BigDecimal(1358113402000L);
min = new BigDecimal(1263419002000L);
max = new BigDecimal(1421185402000L);
- stringValue = AxisValueFormatterUtil.formatDateValue(value, min, max, null, locale, timeZone);
+ stringValue = axisTickLabelFormatter.formatDateValue(value, min, max);
assertThat(stringValue, equalTo("2013"));
}