Exemplo n.º 1
0
def show_regression_plot(event):
    global new_plot, reg

    print("SHOW REGRESSION")

    if new_plot is not None:
        new_plot.remove()

    grid_pos = np.concatenate([xs, ys], 1)

    vels = np.apply_along_axis(get_velocity, 1, grid_pos[:, 0:2])
    obs = np.concatenate([vels[:, 1][:, None], vels[:, 0][:, None]], axis=1)
    Xo = np.concatenate([grid_pos[:, 1][:, None], grid_pos[:, 0][:, None]],
                        axis=1)

    reg = Regression(dim=2)
    reg.initialize_samples(len(Xo), obs=obs, Xo=Xo)
    reg.run_model()

    x, y, u, v, ur, vr, Xo, _, _ = reg.get_params()

    new_plot = fig.add_subplot(1, 2, 2, aspect='equal')
    new_plot.quiver(x[::ds],
                    y[::ds],
                    ur[::ds, ::ds],
                    vr[::ds, ::ds],
                    scale=scale)
    new_plot.streamplot(x, y, ur, vr)
    new_plot.plot(Xo[:, 1], Xo[:, 0], 'or', markersize=marker_size)
    new_plot.set_xlim(-5, 5)
    new_plot.set_ylim(-5, 5)
    new_plot.set_title('GPR Velocity Field (' + str(len(xs)) + ' samples)',
                       size=text_size)

    fig.canvas.draw()