From d0daa7a91153e42031b7f58a8788381698863ba4 Mon Sep 17 00:00:00 2001 From: Tim Molter <tim@knowm.org> Date: Fri, 22 Jan 2016 16:21:10 +0100 Subject: [PATCH] allow removal of series from chart (Issue #127) --- .../xchart/standalone/TestForIssue127.java | 33 +++++++++++++++++-- .../main/java/org/knowm/xchart/Chart_XY.java | 4 +-- .../xchart/internal/chartpart/Chart.java | 5 +++ 3 files changed, 38 insertions(+), 4 deletions(-) diff --git a/xchart-demo/src/main/java/org/knowm/xchart/standalone/TestForIssue127.java b/xchart-demo/src/main/java/org/knowm/xchart/standalone/TestForIssue127.java index b7e8c36a..7c23b15a 100644 --- a/xchart-demo/src/main/java/org/knowm/xchart/standalone/TestForIssue127.java +++ b/xchart-demo/src/main/java/org/knowm/xchart/standalone/TestForIssue127.java @@ -16,6 +16,13 @@ */ package org.knowm.xchart.standalone; +import java.text.DateFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + import org.knowm.xchart.ChartBuilder_XY; import org.knowm.xchart.Chart_XY; import org.knowm.xchart.SwingWrapper; @@ -25,7 +32,7 @@ import org.knowm.xchart.SwingWrapper; */ public class TestForIssue127 { - public static void main(String[] args) { + public static void main(String[] args) throws InterruptedException, ParseException { int[] x = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 }; int[] y = new int[] { 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1 }; @@ -34,9 +41,31 @@ public class TestForIssue127 { Chart_XY chart = new ChartBuilder_XY().width(640).height(480).xAxisTitle("x").yAxisTitle("y").build(); chart.setTitle("TEst"); - // chart.addSeries("test", x, y); chart.getStyler().setLegendVisible(false); new SwingWrapper(chart).displayChart(); + Thread.sleep(1000); + + chart.addSeries("test", x, y); + new SwingWrapper(chart).displayChart(); + Thread.sleep(1000); + + chart.removeSeries("test"); + new SwingWrapper(chart).displayChart(); + + DateFormat sdf = new SimpleDateFormat("dd-HH-mm"); + + List<Date> xDate = new ArrayList<Date>(); + xDate.add(sdf.parse("25-01-00")); + xDate.add(sdf.parse("25-02-00")); + xDate.add(sdf.parse("25-03-00")); + List<Double> yDate = new ArrayList<Double>(); + yDate.add(2d); + yDate.add(3d); + yDate.add(5d); + chart.addSeries("test2", xDate, yDate); + new SwingWrapper(chart).displayChart(); + Thread.sleep(1000); + } } diff --git a/xchart/src/main/java/org/knowm/xchart/Chart_XY.java b/xchart/src/main/java/org/knowm/xchart/Chart_XY.java index 1350d81c..9f367d82 100644 --- a/xchart/src/main/java/org/knowm/xchart/Chart_XY.java +++ b/xchart/src/main/java/org/knowm/xchart/Chart_XY.java @@ -261,8 +261,8 @@ public class Chart_XY extends Chart<Styler_XY, Series_XY> { */ public void setSeriesStyles() { - SeriesColorMarkerLineStyleCycler seriesColorMarkerLineStyleCycler = new SeriesColorMarkerLineStyleCycler(getStyler().getSeriesColors(), getStyler().getSeriesMarkers(), - getStyler().getSeriesLines()); + SeriesColorMarkerLineStyleCycler seriesColorMarkerLineStyleCycler = new SeriesColorMarkerLineStyleCycler(getStyler().getSeriesColors(), getStyler().getSeriesMarkers(), getStyler() + .getSeriesLines()); for (Series_XY series : getSeriesMap().values()) { SeriesColorMarkerLineStyle seriesColorMarkerLineStyle = seriesColorMarkerLineStyleCycler.getNextSeriesColorMarkerLineStyle(); diff --git a/xchart/src/main/java/org/knowm/xchart/internal/chartpart/Chart.java b/xchart/src/main/java/org/knowm/xchart/internal/chartpart/Chart.java index 1bc01543..34cd05c7 100644 --- a/xchart/src/main/java/org/knowm/xchart/internal/chartpart/Chart.java +++ b/xchart/src/main/java/org/knowm/xchart/internal/chartpart/Chart.java @@ -197,6 +197,11 @@ public abstract class Chart<ST extends Styler, S extends Series> implements Char return seriesMap; } + public S removeSeries(String seriesName) { + + return seriesMap.remove(seriesName); + } + /** * Gets the Chart's styler, which can be used to customize the Chart's appearance * -- GitLab