Example #1
0
def get_3d_data(data, field_x, field_y, field_z):

    x_set, z_av_tab, z_std_tab, y_set = analysis.get_graph_data(
        data, field_x, field_y, field_z)
    x = []
    y = []
    z = []
    for i, xs in enumerate(x_set):
        for j, ys in enumerate(y_set):
            x.append(xs)
            y.append(ys)
            z.append(z_av_tab[i, j])

    return x, y, z
Example #2
0
def plot(ax, data, field_x, field_y, field_z):

    data = analysis.get_graph_data(data, field_x, field_y, field_z)
    for j in range(len(data[3])):
        ax.plot(data[0],
                data[1][:, j],
                linestyle=analysis.get_lines(j),
                linewidth=2,
                color=analysis.get_cols(j),
                label=str(field_z).replace("_", " ") + " = " + str(data[3][j]))
        ax.fill_between(data[0],
                        data[1][:, j] - data[2][:, j] / 5.0,
                        data[1][:, j] + data[2][:, j] / 5.0,
                        alpha=0.1,
                        edgecolor=analysis.get_cols(j),
                        facecolor=analysis.get_cols(j))
        ax.set_title(str(field_y))
Example #3
0
def scatter_x_y(ax, data, field_x, field_y, field_z):

    x_set, z_av_tab, z_std_tab, y_set = analysis.get_graph_data(
        data, field_x, field_y, field_z)
    print x_set, y_set
    if "grf_max" in field_y:
        im = ax.pcolormesh(x_set,
                           y_set,
                           z_av_tab.T,
                           norm=cols.LogNorm(vmin=max(0.0001,
                                                      np.nanmin(z_av_tab)),
                                             vmax=np.nanmax(z_av_tab)))
    else:
        im = ax.pcolormesh(x_set, y_set, z_av_tab.T)

    # x, y, z = get_3d_data(data, field_x, field_y, field_z)
    # logx = np.log10(x)
    # logy = np.log10(y)
    # logz = np.log10(z)
    # f = interp2d(logx, logy, logz, kind="linear")
    # xi = np.linspace(min(logx), max(logx), 100)
    # yi = np.linspace(min(logy), max(logy), 100)
    # zi = np.power(10, f(xi, yi))
    # xi = np.power(10, xi)
    # yi = np.power(10, yi)
    # im = ax.pcolormesh(xi, yi, zi)
    ks = np.logspace(np.log10(min(x_set)), np.log10(max(x_set)), 100)
    for j, kappa in enumerate(
        [0.000001, 0.00001, 0.0001, 0.001, 0.01, 0.1, 1, 10, 100, 1000,
         10000]):
        ax.plot(ks,
                kappa * np.sqrt(ks),
                linestyle="--",
                linewidth=1,
                color="k",
                label="Kappa = " + str(kappa))
    ax.set_yscale('log')
    ax.set_xscale('log')
    ax.set_xlim([min(x_set), max(x_set)])
    ax.set_ylim([min(y_set), max(y_set)])
    ax.set_xlabel('Stiffness [N.m/rad]')
    ax.set_ylabel('Damping [N.m.s/rad]')
    ax.set_title(field_y.replace("_", " ").capitalize())

    return im
Example #4
0
def get_fall_data(data, field_x, field_y, field_z):

    data = analysis.get_graph_data(data, field_x, field_y, field_z)

    fall_x = []
    fall_y = []
    not_fall_x = []
    not_fall_y = []
    for i, x in enumerate(data[0]):
        for j, y in enumerate(data[3]):
            if data[1][i, j] > 0.2:
                fall_x.append(x)
                fall_y.append(y)
            else:
                not_fall_x.append(x)
                not_fall_y.append(y)

    return fall_x, fall_y, not_fall_x, not_fall_y
Example #5
0
def get_data(data, field):

    x_set, z_av_tab, z_std_tab, y_set = analysis.get_graph_data(
        data, 'force_delay_line_n', field, 'force_elm_n')
    x = []
    y = []
    z_av = []
    z_std = []
    for i, xs in enumerate(x_set):
        for j, ys in enumerate(y_set):
            x.append(xs)
            y.append(ys)
            if 'x_speed' in field:
                z_av_tab[i, j] = 1 - abs(0.25 - z_av_tab[i, j]) / 0.25
                if z_av_tab[i, j] < 0:
                    z_av_tab[i, j] = 0
            if 'y_speed' in field:
                z_av_tab[i, j] = abs(z_av_tab[i, j])

            z_av.append(z_av_tab[i, j])
            z_std.append(z_std_tab[i, j])

    return x, y, z_av, z_std