I am currently learning JavaFX and am trying to create an app that shows a line chart and allows the user to change certain variables which then changes the plotted line. The way I do this is by removing the series (and the data points within the series) and then refilling the series and adding them again as shown below.
    public void plot(double[] xArr, double[] yExactArr, double[] yApproxArr) {
        linePlot.getData().clear();
        if (!exactValues.getData().isEmpty()) {
            exactValues.getData().remove(0, xArr.length - 1);
            approxValues.getData().remove(0, xArr.length - 1);
        }
        for (int i = 0; i < xArr.length; i++) {
            exactValues.getData().add(new XYChart.Data(xArr[i], yExactArr[i]));
            approxValues.getData().add(new XYChart.Data(xArr[i], yApproxArr[i]));
        }
        linePlot.getData().addAll(exactValues, approxValues);
        mainStage.show();
    }
However, when I do this I am getting the following error:
    Exception in thread "JavaFX Application Thread" java.lang.IllegalArgumentException: Duplicate series added
This occurs as soon as addAll() is called the second time around.  When I print the toString() function of linePlot.getData() after calling clear(), it prints an empty array, so it seems like there shouldn't be a problem.  My guess is this isn't the proper way of going about changing the line but this is my newbie attempt.  It seems like I should be able to just change the data within the series (without removing and readding them) but then my plot doesn't update.
Any ideas/recommendations?
 
     
     
     
     
     
    