1

Тема: Накладання графіків JavaFX

Доброї години дня, шановні. При використанні графіків JavaFX, а саме LineChart - зіткнувся з проблемою. При додаванні двох серій на граф - серії не накладаються, а робляться так, як показано на скріні. Графіки - це розв'язки диференційних рівнянь різними методами, які повертають не цілі значення. Перевіряв, вводячи цілочисельні дані до серій - графіки накладались.

http://replace.org.ua/extensions/om_images/img/58c08b7c295ad/89355290_5246e2ba5bec48cce2adafe96f0d2cb6_800.png

обробник події, яким я виводжу передаю графіки на граф

 public void ok(){
        EulerMethod EM = new EulerMethod();
        RungeKuttaMethod RM = new RungeKuttaMethod();

        graf.getData().clear();
        graf.setTitle("Порівняння методів");
        graf.getData().addAll(EM.calc(), RM.calc());
        graf.setCreateSymbols(false);
    }

частина коду першого методу

public XYChart.Series calc(){
        XYChart.Series series = new XYChart.Series();
        series.setName("Метод Ейлера");
        while (x <= 3) {
            y = y + f(x, y) * h;
            x = x + h;
            String X = Double.toString(x);
            series.getData().addAll(new XYChart.Data<>(X, y));
        }
        return series;
    }

частина коду другого методу

public XYChart.Series calc() {
        XYChart.Series series1 = new XYChart.Series();
        series1.setName("Метод Рунге - Кутта");

        for (x = x0; x <= x1; ) {
            dy1_dx = f(x, y);
            k1 = dx * dy1_dx;
            x = x + dx / 2;
            y1d = y + k1 / 2;
            dy2_dx = f(x, y1d);
            k2 = dx * dy2_dx;
            y2d = y + k2 / 2;
            dy3_dx = f(x, y2d);
            k3 = dx * dy3_dx;
            y3d = y + k3;
            x = x + dx / 2;
            dy4_dx = f(x, y3d);
            k4 = dx * dy4_dx;
            y = y + (1.0 / 6) * (k1 + 2 * k2 + 2 * k3 + k4);
            String X = Double.toString(x);
            series1.getData().addAll(new XYChart.Data<>(X, y));
        }
        return series1;
    }
Подякували: Zolin_7771