def plot_max_error_graph(self, limit, IVPx, IVPy, delta):

        euler_max_error_vector = []
        imp_euler_max_error_vector = []
        rk_max_error_vector = []

        err_x_vector = []

        N = int((limit - IVPx) / delta)

        for i in range(1, N):
            err_x_vector.append(i)

        for i in range(1, N):
            delta = float(float((limit - IVPx)) / i)
            if delta == 0: delta = float(1)

            computer = Computation(IVPx, IVPy, delta, limit)

            euler_x_vector, euler_y_vector, imp_euler_x_vector, imp_euler_y_vector, \
            rk_x_vector, rk_y_vector, exact_x_vector, exact_y_vector = computer.compute(delta, IVPx, IVPy, limit)

            euler_error_vector, imp_euler_error_vector, rk_error_vector = computer.get_local_errors(
                euler_x_vector, euler_y_vector, imp_euler_x_vector,
                imp_euler_y_vector, rk_x_vector, rk_y_vector, exact_x_vector,
                exact_y_vector)
            print(delta, max(euler_error_vector), max(imp_euler_error_vector),
                  max(rk_error_vector))
            euler_max_error_vector.append(max(euler_error_vector))
            imp_euler_max_error_vector.append(max(imp_euler_error_vector))
            rk_max_error_vector.append(max(rk_error_vector))
        pyplot.figure()
        pyplot.plot(err_x_vector, euler_max_error_vector, label="Euler")
        pyplot.plot(err_x_vector,
                    imp_euler_max_error_vector,
                    label="Improved Euler")
        pyplot.plot(err_x_vector, rk_max_error_vector, label="Runge-Kutta")
        pyplot.suptitle("Error-Step size graph")
        pyplot.xlabel("Step size")
        pyplot.ylabel("Error")
        pyplot.legend(loc="upper left")
        pyplot.show()