Beispiel #1
0
plt.ioff()

hextent = np.array(bnds) + (-0.1, 0.1, -0.1, 0.1)
kws = {
    'separate': True,
    'source_style': 'hex',
    'source_kws': {
        'gridsize': 26,
        'extent': hextent
    },
    'unfiltered': True
}
fitargs = {'force_flip': False, 'try_flip': False, 'fitclass': fit.PolFit}

limslist = sf.limitslist(rholimits)
data = param_table(e=e, debug=debug)
data.index = data.index.droplevel()
vdata = read.merge_series(e.pluv_grouper(), e.vel_data())
vtable = pd.merge(vdata,
                  pd.DataFrame(data.rhomin),
                  left_on='group',
                  right_index=True)
# TODO: check duplicates
vfits = dict()
for rhomin in rholimits[:-1]:
    pipv = read.PipV(data=vtable.query('rhomin=={0}'.format(rhomin)))
    vfits[rhomin], std, etc = pipv.pickler('v-d_rho_range', pipv.find_fit,
                                           **fitargs)
fig, axarr = sf.plot_vfits_rho_intervals(dict2tuple(vfits), limslist, **kws)
axarr[0].axis(bnds)
for ax in axarr:
Beispiel #2
0
                                  rhomax * read.RHO_SCALE)
        ax = axarr[i]
        datarho = data[data.rhomin == rhomin]  #.loc['second']
        datarho.plot.scatter(x=d0_col, y='log_nw', c='', ax=axarr[i])
        lfit = fit.LinFit(x=datarho[d0_col], y=datarho.log_nw, xname='D_0')
        lfit.find_fit()
        lfit.plot(source_style=None, ax=ax)
        #efit = fit.ExponentialFit(x=datarho.D_0, y=datarho.N_w)
        #efit.find_fit()
        #efit.plot(source_style='raw', ax=ax)
        ax.legend()
        ax.set_title(limitstr)
        ax.set_xlabel('')
    axarr[0].set_ylabel('$log(N_w)$')
    axarr[1].set_xlabel('$D_0$, mm')
    axarr[-1].set_title('$\\rho > %s$' % (rhomin * read.RHO_SCALE))
    plt.axis([0, 5, 1, 6])
    #remove_subplot_gaps(fig, axis='row')
    return fig, axarr


data = param_table(debug=debug)
data['log_nw'] = np.log10(data['N_w'])
data = sf.apply_rho_intervals(data, limits=rholims)
fig, axarr = d0_nw_paper(data, rholimits=rholims)
if debug:
    savepath += '/test'
read.ensure_dir(savepath)
fig.savefig(path.join(savepath, 'nw_d0_rhoranges.eps'))
#fig.savefig(path.join(paperpath, 'nw_d0_rhoranges.eps'))
    e = pip2015events()

#plt.close('all')
plt.ioff()

hextent = np.array(bnds)+(-0.1,0.1,-0.1,0.1)
kws = {'separate': True,
       'source_style': 'hex',
       'source_kws': {'gridsize': 26, 'extent': hextent},
       'unfiltered': True}
fitargs = {'force_flip': False,
           'try_flip': False,
           'fitclass': fit.PolFit}

limslist=sf.limitslist(rholimits)
data = param_table(e=e, debug=debug)
data.index = data.index.droplevel()
vdata = read.merge_series(e.pluv_grouper(), e.vel_data())
vtable = pd.merge(vdata, pd.DataFrame(data.rhomin), left_on='group', right_index=True)
# TODO: check duplicates
vfits = dict()
for rhomin in rholimits[:-1]:
    pipv = read.PipV(data=vtable.query('rhomin=={0}'.format(rhomin)))
    vfits[rhomin], std, etc = pipv.pickler('v-d_rho_range', pipv.find_fit, **fitargs)
fig, axarr = sf.plot_vfits_rho_intervals(dict2tuple(vfits), limslist, **kws)
axarr[0].axis(bnds)
for ax in axarr:
    ax.tick_params(direction='out', top=False)

pc = pd.DataFrame(index=rholimits[:-1], columns=['count_all', 'count_hwfm', 'r_sq'])
for rhomin in vfits:
Beispiel #4
0
        key.plot(ax=ax, **kws)
    read.rho_scale(ax.yaxis)
    ax.set_ylabel('$\\rho$, ' + read.RHO_UNITS)
    ax.set_xlabel('$D_0$, mm')
    ax.set_xticks((0.5, 1, 2, 3, 4, 5, 6))
    plt.legend()
    return ax, rho_d0, rho_d0_baecc, rho_d0_1415

def mass_dim(rho_d0, b_v=0.2):
    a_d0, b_d0 = rho_d0.params
    a_d0 = a_d0/1000*10**b_d0
    beta = b_d0 + 3
    alpha = np.pi/6*3.67**b_d0*a_d0*gamma(b_v+4)/gamma(b_v+b_d0+4)
    return fit.PolFit(params=(alpha, beta), xname='D')

data_fltr = param_table(debug=debug)

figkws = {'dpi': 150, 'figsize': (5,5)}
#fig = plt.figure(**figkws)
#ax = plot_d0_rho(data)
fig_fltr = plt.figure(**figkws)
ax_fltr, rho_d0, rho_d0_baecc, rho_d0_1415 = plot_d0_rho(data_fltr)

m_d = mass_dim(rho_d0)
m_d_baecc = mass_dim(rho_d0_baecc)
m_d_1415 = mass_dim(rho_d0_1415)

if debug:
    savepath += '/test'
paperpath = path.join(savepath, 'paper')
read.ensure_dir(paperpath)
Beispiel #5
0
def param_table_filtered_rows():
    qstr = QSTR_FILTERED
    return param_table(query_str=qstr)
Beispiel #6
0
d0_col = 'D_0_gamma'

#sns.set_context('talk')
major_size = 8
set_plot_style(**{'xtick.major.size': major_size,
                  'ytick.major.size': major_size})

plt.close('all')
plt.ioff()
kwargs = {'kde': True, 'rug': True, 'kde_kws': {'label': 'KDE'}}
savedir = path.join(paths['results'], 'hist')
if debug:
    savedir += '/test'
read.ensure_dir(savedir)

data = param_table(debug=debug)


def kde_peak(data, xlim=(-1,1), n_samples=500):
    kde = gaussian_kde(data)
    xs = np.linspace(*xlim, num=n_samples)
    ys = kde(xs)
    index = np.argmax(ys)
    return xs[index], ys[index]


def split_hist(data, **kws):
    data = sf.split_index(data, names=('first', 'second'))
    return plt.hist([data.loc['first'], data.loc['second']], stacked=True,
                    rwidth=1, **kws)
Beispiel #7
0
def param_table_unfiltered():
    return param_table(query_str='')
Beispiel #8
0

def nw_dmitri(rho, d0):
    return 10**(5.5-(3.57*(rho/1000)**(1/3)-1)*d0)

def nw(rho, d0):
    return 10**(5.6-(0.403*rho**(1/3)-1.2)*d0)

def alpha_fit():
    alpha = np.array([.465, .851, 1.301])
    rho = np.array([72.7, 134, 243.8])
    afit = fit.LinFit(x=rho**(1/3), y=alpha)
    afit.find_fit()
    return afit

data = param_table()

#data['D_0_rho'] = data.D_0_gamma*data.density
#ax2 = data.plot.scatter(x='D_0_rho', y='N_w', c='density', logy=True)
data['D_0_rho1'] = data.D_0_gamma*data.density**(1/3)
#ax3 = data.plot.scatter(x='D_0_rho1', y='N_w', c='density', logy=True)
#data['D_0_rho2'] = data.D_0_gamma*(data.density**(1/3)*0.403-1.2)
#ax4 = data.plot.scatter(x='D_0_rho2', y='N_w', c='density', logy=True)
data['nw_rho'] = nw(data.density, data.D_0_gamma)
#ax = data.plot.scatter(x='N_w', y='nw_rho', c='D_0_gamma', logx=True, logy=True)
#ax5 = data.plot.scatter(x='D_0_gamma', y='N_w', c='density', logy=True)
#ax.set_xlim([data.N_w.min(), data.N_w.max()])
#ax.set_ylim([nw1.min(), nw1.max()])
#ax.set_xlabel('$N_w$')
#ax.set_ylabel('$N_w(\\rho)$')
#ax.plot([0,1e8],[0, 1e8])
Beispiel #9
0
def param_table_filtered_rows():
    qstr = QSTR_FILTERED
    return param_table(query_str=qstr)
Beispiel #10
0
def param_table_unfiltered():
    return param_table(query_str='')
Beispiel #11
0
    ax.set_xlabel('$D_0$, mm')
    ax.set_xticks((0.5, 1, 2, 3, 4, 5, 6))
    plt.legend()
    return ax, rho_d0, rho_d0_baecc, rho_d0_1415


def mass_dim(rho_d0, b_v=0.2):
    a_d0, b_d0 = rho_d0.params
    a_d0 = a_d0 / 1000 * 10**b_d0
    beta = b_d0 + 3
    alpha = np.pi / 6 * 3.67**b_d0 * a_d0 * gamma(b_v + 4) / gamma(b_v + b_d0 +
                                                                   4)
    return fit.PolFit(params=(alpha, beta), xname='D')


data_fltr = param_table(debug=debug)

figkws = {'dpi': 150, 'figsize': (5, 5)}
#fig = plt.figure(**figkws)
#ax = plot_d0_rho(data)
fig_fltr = plt.figure(**figkws)
ax_fltr, rho_d0, rho_d0_baecc, rho_d0_1415 = plot_d0_rho(data_fltr)

m_d = mass_dim(rho_d0)
m_d_baecc = mass_dim(rho_d0_baecc)
m_d_1415 = mass_dim(rho_d0_1415)

if debug:
    savepath += '/test'
paperpath = path.join(savepath, 'paper')
read.ensure_dir(paperpath)