def update_fit_plot(neural_network, expectations, training_result):
    print(training_result.error)
    fig = plt.figure("Fit Tracker")
    if len(fig.axes) > 0 and len(fig.axes[0].lines) > 1:
        ax = fig.axes[0]
        line = ax.lines[1]
        line.set_ydata(NeuralNetworkUtils.list_of_outputs(neural_network, [e.inputs for e in expectations]))
        fig.canvas.draw()
def show_fit_tracker(neural_network, expectations):
    x = [e.inputs[0] for e in expectations]
    goal = [e.outputs[0] for e in expectations]
    current = NeuralNetworkUtils.list_of_outputs(neural_network, [e.inputs for e in expectations])

    fig = plt.figure("Fit Tracker")
    ax = fig.add_subplot(111)
    ax.plot(x, goal)
    ax.plot(x, current)
    fig.canvas.draw()
    fig.show()