Добавлена ​​повторяющаяся серия JavaFX

В настоящее время я изучаю JavaFX и пытаюсь создать приложение, которое показывает линейную диаграмму и позволяет пользователю изменять определенные переменные, которые затем изменяют нанесенную линию. Я делаю это, удаляя ряд (и точки данных в пределах ряда), а затем повторно заполняя ряд и добавляя их снова, как показано ниже.

    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();
    }

Однако, когда я делаю это, я получаю следующую ошибку:

    Exception in thread "JavaFX Application Thread" java.lang.IllegalArgumentException: Duplicate series added

Это происходит, как толькоaddAll() называется второй раз. Когда я печатаюtoString() функцияlinePlot.getData() после звонкаclear(), он печатает пустой массив, так что, похоже, не должно быть проблемы. Я предполагаю, что это неправильный способ изменить линию, но это моя новичковая попытка. Кажется, что я должен иметь возможность просто изменить данные в серии (не удаляя и не читая их), но тогда мой график не обновляется.

Есть идеи / рекомендации?

Ответы на вопрос(3)

Ваш ответ на вопрос