diff --git a/README.md b/README.md index 2cce4bc03c648452cc7837db9cd176727371e6cc..e4eedef2f5b181489849d47b1c41c170a866c28e 100644 --- a/README.md +++ b/README.md @@ -26,13 +26,20 @@ Now go ahead and [study some more examples](http://xeiam.com/xchart_examplecode. ## Features * No additional dependencies -* ~50KB Jar +* ~85KB Jar * Line charts * Scatter charts +* Area Charts +* Bar Charts * Error bars -* Date x-axis +* Logarithmic axes +* Date and category X-Axis * Multiple series * Extensive customization +* Themes +* Right-click, Save-As... +* User-defined axes range +* Custom legend placement ## Getting Started ### Non-Maven @@ -46,7 +53,7 @@ Add the XChart library as a dependency to your pom.xml file: <dependency> <groupId>com.xeiam.xchart</groupId> <artifactId>xchart</artifactId> - <version>1.3.1</version> + <version>2.0.0</version> </dependency> For snapshots, add the following to your pom.xml file: @@ -60,7 +67,7 @@ For snapshots, add the following to your pom.xml file: <dependency> <groupId>com.xeiam</groupId> <artifactId>xchart</artifactId> - <version>1.3.2-SNAPSHOT</version> + <version>2.0.1-SNAPSHOT</version> </dependency> ## Building @@ -69,7 +76,7 @@ mvn javadoc:aggregate ## Running Demo cd /path/to/xchart-demo/jar/ - java -cp xchart-demo-1.3.1.jar:xchart-1.3.1.jar com.xeiam.xchart.demo.XChartDemo + java -cp xchart-demo-2.0.0.jar:xchart-2.0.0.jar com.xeiam.xchart.demo.XChartDemo ## Bugs Please report any bugs or submit feature requests to [XChart's Github issue tracker](https://github.com/timmolter/XChart/issues). diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/area/AreaChart01.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/area/AreaChart01.java index 3a4fff4761ee8fc87460e538ac13b8a7bf3b3c68..5b6a061a0f06a7cca9f06fbbb1eeb110f5ba3738 100644 --- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/area/AreaChart01.java +++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/area/AreaChart01.java @@ -23,9 +23,13 @@ import com.xeiam.xchart.SwingWrapper; import com.xeiam.xchart.demo.charts.ExampleChart; /** - * 3-Series - * - * @author timmolter + * Area Chart with 3 series + * <p> + * Demonstrates the following: + * <ul> + * <li>Area Chart + * <li>Place legend at Inside-NW position + * <li>ChartBuilder */ public class AreaChart01 implements ExampleChart { diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/bar/BarChart05.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/bar/BarChart05.java index 45dc5ad15ec90265f5d50c75e52f406d432e90df..1411cfbed3ec8dd6ea230b033adbeb5f188d2ea1 100644 --- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/bar/BarChart05.java +++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/bar/BarChart05.java @@ -26,12 +26,13 @@ import java.util.Arrays; import com.xeiam.xchart.Chart; import com.xeiam.xchart.ChartBuilder; -import com.xeiam.xchart.SwingWrapper; import com.xeiam.xchart.StyleManager.ChartTheme; import com.xeiam.xchart.StyleManager.ChartType; +import com.xeiam.xchart.SwingWrapper; import com.xeiam.xchart.demo.charts.ExampleChart; /** + * Multiple series Bar Chart * <p> * Demonstrates the following: * <ul> diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/date/DateChart02.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/date/DateChart02.java index d2312070bfa6e6e678cc249bb58409fa5b95f421..e60b12b8f5e2de3c6379cf160d2dc9cbb6431aed 100644 --- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/date/DateChart02.java +++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/date/DateChart02.java @@ -30,8 +30,6 @@ import com.xeiam.xchart.demo.charts.ExampleChart; /** * Second Scale - * - * @author timmolter */ public class DateChart02 implements ExampleChart { diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/date/DateChart03.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/date/DateChart03.java index bcc34e8196d66953f5ba01e9f03b181a9746f562..ab3ead7b1484860d449492946737a36a7e739bf5 100644 --- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/date/DateChart03.java +++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/date/DateChart03.java @@ -30,8 +30,6 @@ import com.xeiam.xchart.demo.charts.ExampleChart; /** * Minute Scale - * - * @author timmolter */ public class DateChart03 implements ExampleChart { 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 9cd21ee35b1f679836111e12bb9551a1ca71c079..df8eb34a70a95c0815d1eb718a81ef5359cff3d3 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 @@ -30,8 +30,6 @@ import com.xeiam.xchart.demo.charts.ExampleChart; /** * Hour Scale - * - * @author timmolter */ public class DateChart04 implements ExampleChart { 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 dcbfce3f081fb1dfb25d0041137f68afcbd0c404..e72d267f2f561c90f581bfc998e78d2d98b86b19 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 @@ -30,8 +30,6 @@ import com.xeiam.xchart.demo.charts.ExampleChart; /** * Day Scale - * - * @author timmolter */ public class DateChart05 implements ExampleChart { diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/date/DateChart06.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/date/DateChart06.java index a363bd52d0ff30a12e0b32a2c42e026ebbafb67f..803b4dcf725e111234726cfe7526ade5ae8eef44 100644 --- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/date/DateChart06.java +++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/date/DateChart06.java @@ -30,8 +30,6 @@ import com.xeiam.xchart.demo.charts.ExampleChart; /** * Month scale - * - * @author timmolter */ public class DateChart06 implements ExampleChart { diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/date/DateChart07.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/date/DateChart07.java index 6b96f2234036c4452c01d2fbd05a5f89ba0a117d..b089406fa68f871017b074738e381370485aef37 100644 --- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/date/DateChart07.java +++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/date/DateChart07.java @@ -30,8 +30,6 @@ import com.xeiam.xchart.demo.charts.ExampleChart; /** * Year scale - * - * @author timmolter */ public class DateChart07 implements ExampleChart { diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/scatter/ScatterChart01.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/scatter/ScatterChart01.java index b40e0d5c707617db63a771c044db871553925594..14e5ee16413e001b8c787ef4450ce1841588a434 100644 --- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/scatter/ScatterChart01.java +++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/scatter/ScatterChart01.java @@ -20,9 +20,9 @@ import java.util.List; import java.util.Random; import com.xeiam.xchart.Chart; -import com.xeiam.xchart.SwingWrapper; import com.xeiam.xchart.StyleManager.ChartType; import com.xeiam.xchart.StyleManager.LegendPosition; +import com.xeiam.xchart.SwingWrapper; import com.xeiam.xchart.demo.charts.ExampleChart; /** @@ -58,6 +58,7 @@ public class ScatterChart01 implements ExampleChart { // Customize Chart chart.getStyleManager().setChartTitleVisible(false); chart.getStyleManager().setLegendPosition(LegendPosition.InsideSW); + // Series chart.addSeries("Gaussian Blob", xData, yData); diff --git a/xchart/src/test/java/com/xeiam/xchart/chart/Example0.java b/xchart-demo/src/main/java/com/xeiam/xchart/standalone/Example0.java similarity index 90% rename from xchart/src/test/java/com/xeiam/xchart/chart/Example0.java rename to xchart-demo/src/main/java/com/xeiam/xchart/standalone/Example0.java index 3708c8d0c4adbbe29dbeecb954af4664c1679952..7067907202ca75cdeeac21fe3d991c41b71a23c4 100644 --- a/xchart/src/test/java/com/xeiam/xchart/chart/Example0.java +++ b/xchart-demo/src/main/java/com/xeiam/xchart/standalone/Example0.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.xeiam.xchart.chart; +package com.xeiam.xchart.standalone; import com.xeiam.xchart.BitmapEncoder; import com.xeiam.xchart.Chart; @@ -21,9 +21,7 @@ import com.xeiam.xchart.QuickChart; import com.xeiam.xchart.SwingWrapper; /** - * Creates a simple Chart using {@link com.xeiam.xchart.QuickChart} - * - * @author timmolter + * Creates a simple Chart using QuickChart */ public class Example0 { diff --git a/xchart/src/test/java/com/xeiam/xchart/chart/Example1.java b/xchart-demo/src/main/java/com/xeiam/xchart/standalone/Example1.java similarity index 95% rename from xchart/src/test/java/com/xeiam/xchart/chart/Example1.java rename to xchart-demo/src/main/java/com/xeiam/xchart/standalone/Example1.java index 5dcb57f5433e0c3eb5c4c74c620db3eadca56f6f..bb791b577ec1b9f1b8e4f0b97ea123f88ed6518f 100644 --- a/xchart/src/test/java/com/xeiam/xchart/chart/Example1.java +++ b/xchart-demo/src/main/java/com/xeiam/xchart/standalone/Example1.java @@ -13,15 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.xeiam.xchart.chart; +package com.xeiam.xchart.standalone; import com.xeiam.xchart.BitmapEncoder; import com.xeiam.xchart.Chart; /** * Creates a simple Chart and saves it as a PNG and JPEG image file. - * - * @author timmolter */ public class Example1 { diff --git a/xchart/src/test/java/com/xeiam/xchart/chart/Example2.java b/xchart-demo/src/main/java/com/xeiam/xchart/standalone/Example2.java similarity index 97% rename from xchart/src/test/java/com/xeiam/xchart/chart/Example2.java rename to xchart-demo/src/main/java/com/xeiam/xchart/standalone/Example2.java index 07258eae89f07001c34145ec69590b5b74625f75..7a272481b2a04e51c741259bff93bbb84ed5c815 100644 --- a/xchart/src/test/java/com/xeiam/xchart/chart/Example2.java +++ b/xchart-demo/src/main/java/com/xeiam/xchart/standalone/Example2.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.xeiam.xchart.chart; +package com.xeiam.xchart.standalone; import java.util.ArrayList; import java.util.List; diff --git a/xchart/src/test/java/com/xeiam/xchart/unit/DateAxisTickCalculatorTest.java b/xchart/src/test/java/com/xeiam/xchart/DateAxisTickCalculatorTest.java similarity index 98% rename from xchart/src/test/java/com/xeiam/xchart/unit/DateAxisTickCalculatorTest.java rename to xchart/src/test/java/com/xeiam/xchart/DateAxisTickCalculatorTest.java index 081d88161552b339fb5a2f070d4bca3dde571b05..0c68fbeced65c5b583e0a06640f23a3e4bc3cf08 100644 --- a/xchart/src/test/java/com/xeiam/xchart/unit/DateAxisTickCalculatorTest.java +++ b/xchart/src/test/java/com/xeiam/xchart/DateAxisTickCalculatorTest.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.unit; +package com.xeiam.xchart; import static org.hamcrest.CoreMatchers.equalTo; import static org.hamcrest.MatcherAssert.assertThat; diff --git a/xchart/src/test/java/com/xeiam/xchart/unit/DateFormatterTest.java b/xchart/src/test/java/com/xeiam/xchart/DateFormatterTest.java similarity index 99% rename from xchart/src/test/java/com/xeiam/xchart/unit/DateFormatterTest.java rename to xchart/src/test/java/com/xeiam/xchart/DateFormatterTest.java index 3386bb37a6f5e24871a0b68175dbf68de0320e00..3c18161dc83c94c90ec071bd1e409878f3bef3aa 100644 --- a/xchart/src/test/java/com/xeiam/xchart/unit/DateFormatterTest.java +++ b/xchart/src/test/java/com/xeiam/xchart/DateFormatterTest.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.unit; +package com.xeiam.xchart; import static org.hamcrest.CoreMatchers.equalTo; import static org.hamcrest.MatcherAssert.assertThat; diff --git a/xchart/src/test/java/com/xeiam/xchart/unit/DecimalAxisTickCalculatorTest.java b/xchart/src/test/java/com/xeiam/xchart/DecimalAxisTickCalculatorTest.java similarity index 98% rename from xchart/src/test/java/com/xeiam/xchart/unit/DecimalAxisTickCalculatorTest.java rename to xchart/src/test/java/com/xeiam/xchart/DecimalAxisTickCalculatorTest.java index 3b4f8e76899d683b0ee62ca5fca337a22fcf7ac0..8366058ae0537991937c20b3ecf23a2952ccd7fc 100644 --- a/xchart/src/test/java/com/xeiam/xchart/unit/DecimalAxisTickCalculatorTest.java +++ b/xchart/src/test/java/com/xeiam/xchart/DecimalAxisTickCalculatorTest.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.unit; +package com.xeiam.xchart; import static org.hamcrest.CoreMatchers.equalTo; import static org.hamcrest.MatcherAssert.assertThat; diff --git a/xchart/src/test/java/com/xeiam/xchart/unit/NumberFormatterTest.java b/xchart/src/test/java/com/xeiam/xchart/NumberFormatterTest.java similarity index 99% rename from xchart/src/test/java/com/xeiam/xchart/unit/NumberFormatterTest.java rename to xchart/src/test/java/com/xeiam/xchart/NumberFormatterTest.java index 12ad0922fcad2abc703e62523e436375cdcb682c..3e9e221e6c9a07b3f0b1d1dc02e0b3d6b86a1bba 100644 --- a/xchart/src/test/java/com/xeiam/xchart/unit/NumberFormatterTest.java +++ b/xchart/src/test/java/com/xeiam/xchart/NumberFormatterTest.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.unit; +package com.xeiam.xchart; import static org.hamcrest.CoreMatchers.equalTo; import static org.hamcrest.MatcherAssert.assertThat; diff --git a/xchart/src/test/java/com/xeiam/xchart/chart/LineChart05.java b/xchart/src/test/java/com/xeiam/xchart/chart/LineChart05.java deleted file mode 100644 index a8ede1e9c59a1e36c1c1213d9d3dad4bb4f51f21..0000000000000000000000000000000000000000 --- a/xchart/src/test/java/com/xeiam/xchart/chart/LineChart05.java +++ /dev/null @@ -1,43 +0,0 @@ -/** - * Copyright 2011-2013 Xeiam LLC. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.xeiam.xchart.chart; - -import com.xeiam.xchart.Chart; -import com.xeiam.xchart.SwingWrapper; - -/** - * Vertical and horizontal lines - * - * @author timmolter - */ -public class LineChart05 { - - public static void main(String[] args) { - - // Create Chart - Chart chart = new Chart(800, 600); - - // Customize Chart - chart.setChartTitle("LineChart05"); - chart.setXAxisTitle("X"); - chart.setYAxisTitle("Y"); - - chart.addSeries("vertical", new double[] { 1, 1 }, new double[] { -10, 10 }); - chart.addSeries("horizontal", new double[] { -10, 10 }, new double[] { 0, 0 }); - new SwingWrapper(chart).displayChart(); - } - -} diff --git a/xchart/src/test/java/com/xeiam/xchart/chart/LineChart06.java b/xchart/src/test/java/com/xeiam/xchart/chart/LineChart06.java deleted file mode 100644 index d673f1a17584cfc90acaaa6a64b246f81aea54de..0000000000000000000000000000000000000000 --- a/xchart/src/test/java/com/xeiam/xchart/chart/LineChart06.java +++ /dev/null @@ -1,43 +0,0 @@ -/** - * Copyright 2011-2013 Xeiam LLC. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.xeiam.xchart.chart; - -import com.xeiam.xchart.Chart; -import com.xeiam.xchart.SwingWrapper; - -/** - * Single point - * - * @author timmolter - */ -public class LineChart06 { - - public static void main(String[] args) { - - // Create Chart - Chart chart = new Chart(800, 600); - - // Customize Chart - chart.setChartTitle("LineChart06"); - chart.setXAxisTitle("X"); - chart.setYAxisTitle("Y"); - - chart.addSeries("single point (1,1)", new double[] { 1 }, new double[] { 1 }); - - new SwingWrapper(chart).displayChart(); - } - -}