示例#1
0
def mc_plot(result_arr, mc_arr, img_name):

    img = Image_Plot(fig_x=6, fig_y=4, xpad=0.25, ypad=0.2)
    img.subplots(1, 2)

    scale = 1000

    img.axs[0][0].errorbar(result_arr[0],
                           result_arr[1],
                           result_arr[2],
                           marker="s",
                           fmt=" ",
                           label="g1",
                           capsize=img.cap_size)
    img.axs[0][0].errorbar(result_arr[3],
                           result_arr[4],
                           result_arr[5],
                           marker="s",
                           fmt=" ",
                           label="g2",
                           capsize=img.cap_size)
    img.axs[0][1].errorbar(result_arr[0],
                           scale * (result_arr[1] - result_arr[0]),
                           scale * result_arr[2],
                           marker="s",
                           fmt=" ",
                           label="g1",
                           capsize=img.cap_size)
    img.axs[0][1].errorbar(result_arr[3],
                           scale * (result_arr[4] - result_arr[3]),
                           scale * result_arr[5],
                           marker="s",
                           fmt=" ",
                           label="g2",
                           capsize=img.cap_size)

    mc_str = "Mean\n$m_1 = %.5f (%.5f)$\n$c_1 = %.5f (%.5f)$\n$m_2 = %.5f (%.5f)$\n$c_2 = %.5f (%.5f)$" \
             % (mc_arr[0, 0], mc_arr[0, 1], mc_arr[0, 2], mc_arr[0, 3],
                mc_arr[1, 0], mc_arr[1, 1], mc_arr[1, 2], mc_arr[1, 3])
    img.axs_text(0, 0, 0.8, 0.05, mc_str, text_fontsize=img.legend_size)

    img.set_label(0, 0, 0, "EST g")
    img.set_label(0, 1, 1, "$10^3 (\hat{g} - g_{true})$")
    img.axs[0][0].plot([-0.1, 0.1], [-0.1, 0.1],
                       ls="dashed",
                       c="grey",
                       alpha=0.5)
    img.axs[0][0].set_ylim(-0.05, 0.05)
    img.axs[0][1].set_ylim(-0.1, 0.1)
    for i in range(2):
        img.set_label(0, i, 1, "TRUE g")
        img.axs[0][i].legend(fontsize=img.legend_size, loc="lower right")
        img.axs[0][i].set_xlim(-0.05, 0.05)
    img.save_img(img_name)
    img.close_img()
示例#2
0
bin_num = 5000
img = Image_Plot()
img.subplots(2,3)

for i in range(6):
    m,n = divmod(i,3)

    img.axs[m][n].hist(estimator[i]/scale,bin_num)

    fit = tool_box.gaussnosie_fit(estimator[i]/scale,bin_num)
    img.axs[m][n].plot(fit[0],fit[1],c="C1",ls="--",linewidth=1.5)

    print("plot %s"%est[i])
    ys = img.axs[m][n].set_ylim()
    img.axs[m][n].plot([0,0],[ys[0],ys[1]],ls="--",alpha=0.5,c="k",linewidth=1)
    print(fit[4])
    text_str = "%s\n%.4f\n%.4f\n%.4f"%(est[i],fit[4][0],fit[4][1],fit[4][2])
    img.axs_text(m,n,0.8,0.1,text_str)

img.save_img(pic_path)

img = Image_Plot()
img.subplots(2,3)

for i in range(6):
    m,n = divmod(i,3)

    fq.find_shear(estimator[i],1,20,left=-3000, right=3000,fit_num=40,fig_ax=img.axs[m][n])

img.save_img(chi_pic_path)
示例#3
0
    xs = img.axs[0][i].set_xlim()
    ys = img.axs[0][i].set_ylim()
    img.axs[0][i].plot([xs[0], 100], [0, 0],
                       linewidth=img.plt_line_width,
                       c="grey",
                       linestyle="--")
    img.axs[0][i].set_xlim(xs[0], xs[1])
    img.axs[0][i].set_ylim(ys[0] + dys[0], ys[1] + dys[1])
    img.axs[0][i].xaxis.set_major_formatter(xticks)
    img.axs[0][i].set_xlabel("Cutoff percentage", fontsize=img.xy_lb_size)
    img.axs[0][i].set_ylabel(ylabels[col], fontsize=img.xy_lb_size)
    img.axs[0][i].set_xticks(x_tick)
img.axs_text(0,
             0,
             0.1,
             0.65,
             "GII-sample",
             text_color="k",
             text_fontsize=img.xy_lb_size)
img.axs_text(0,
             1,
             0.1,
             0.65,
             "PII-sample",
             text_color="k",
             text_fontsize=img.xy_lb_size)
img.axs[0][0].legend(ncol=4,
                     loc="upper left",
                     fontsize=img.legend_size,
                     bbox_to_anchor=(0.08, 1.18))
img.save_img(pic_nm)
示例#4
0
                                       marker=markers[j],
                                       mfc="none",
                                       linewidth=img.plt_line_width)
                print(labels[i], lb, var_rate)
        if i == 0:
            text_x, text_y = 0.8, 0.1
        elif i == 1:
            text_x, text_y = 0.68, 0.1
        elif i == 2:
            text_x, text_y = 0.8, 0.9
        else:
            text_x, text_y = 0.55, 0.9
        img.axs_text(m,
                     n,
                     text_y,
                     text_x,
                     labels[i],
                     text_color='k',
                     text_fontsize=img.legend_size + 2)
    ys = [0, 0]
    for i in range(4):
        m, n = divmod(i, 2)
        ys_ = img.axs[m][n].set_ylim()
        if ys_[1] > ys[1]:
            ys[1] = ys_[1]
        if ys_[0] < ys[0]:
            ys[0] = ys_[0]
    x_ticks = numpy.linspace(-0.06, 0.06, 5)

    for i in range(4):
        m, n = divmod(i, 2)
示例#5
0
                               marker="s")
        img.axs[1][i].errorbar(x + 0.15,
                               pdf_mcs[2] * c_scale,
                               pdf_mcs[3] * c_scale,
                               label="PDF $10^4c1$",
                               capsize=img.cap_size,
                               marker="o",
                               ls="--")
        img.axs[1][i].errorbar(x + 0.15,
                               pdf_mcs[6] * c_scale,
                               pdf_mcs[7] * c_scale,
                               label="PDF $10^4c2$",
                               capsize=img.cap_size,
                               marker="o",
                               ls="--")

        img.axs[0][i].legend(ncol=2,
                             fontsize=img.legend_size - 8,
                             loc="upper left")
        img.axs[1][i].legend(ncol=2,
                             fontsize=img.legend_size - 8,
                             loc="upper left")
        img.set_ticklabel_str(0, i, 1, x, xlabels)
        img.set_ticklabel_str(1, i, 1, x, xlabels)
        img.axs_text(0, i, 0.1, 0.1, weight[i], text_color="k")
        img.axs_text(1, i, 0.1, 0.1, weight[i], text_color="k")
        img.axs[0][i].set_ylim(-1.5, 1.5)
        img.axs[1][i].set_ylim(-0.5, 0.5)
    img.save_img(pic_nm)
    # img.show_img()
    img.close_img()
        NU2_hist_bin,
        chisq_gap=100,
        dg=0.005,
        ax=img.axs[1][j])
    t4 = time.time()
    result_str = "g2: %.5f. measured: %.5f(%.5f).  diff: %.5f(%.5f). time: %.2f sec" % (
        g2[shear_tag], gh2_grid, gh2_sig_grid, g2[shear_tag] - gh2_grid,
        gh2_sig_grid, t4 - t3)
    print(result_str)

    result[j, :, rank] = gh1_grid, gh1_sig_grid, gh2_grid, gh2_sig_grid

    text = "%s [%d, %d]\ng1: %.5f,  %.5f(%.5f)\ndiff: %.5f" % (
        bin_type[j], num_g, num_nu, g1[shear_tag], gh1_grid, gh1_sig_grid,
        g1[shear_tag] - gh1_grid)
    img.axs_text(0, j, 0.9, 0.05, text, text_fontsize=15)
    text = "%s [%d, %d]\ng2: %.5f,  %.5f(%.5f)\ndiff: %.5f" % (
        bin_type[j], num_g, num_nu, g2[shear_tag], gh2_grid, gh2_sig_grid,
        g2[shear_tag] - gh2_grid)
    img.axs_text(1, j, 0.9, 0.05, text, text_fontsize=15)

img.save_img("./pic/%s_%d.png" % (bins, rank))
# img.show_img()
img.close_img()
comm.Barrier()

if rank == 0:
    img = Image_Plot()
    img.subplots(2, 5)
    for i in range(5):
        img.axs[0][i].errorbar(g1,
    data = h5f["/data"][()]
    img.axs[0][i].errorbar(data[1, :data_num],
                           y,
                           xerr=data[2, :data_num],
                           capsize=img.cap_size - 1)
    ys = img.axs[0][i].set_ylim()
    img.axs[0][i].plot([signal, signal], [ys[0], ys[1]],
                       ls="dotted",
                       c="grey",
                       alpha=0.5)
    img.set_label(0, i, 1, "g")
    for j in range(data_num):
        if i < 2:
            text_str = "%d bins, $10^2\sigma=%.3f$, $N\sigma^2=%.3f$" % (
                data[4, j], scale[i] * data[2, j], data[3, j])
        else:
            text_str = "%d bins, $10^3\sigma=%.3f$, $N\sigma^2=%.3f$" % (
                data[4, j], scale[i] * data[2, j], data[3, j])
        img.axs_text(0,
                     i,
                     y[j],
                     -0.019,
                     text_str,
                     text_fontsize=img.legend_size - 4,
                     ax_trans=False)
    img.axs[0][i].set_xlim(signal - 0.031, signal + 0.007)
    img.axs[0][i].set_title(titles[i], fontsize=img.legend_size)
    img.del_tick(0, i, [0])
    img.axs[0][i].set_xticks(x_ticks)
img.save_img("D:/sigma.png")
img.show_img()
示例#8
0
    for j in range(flux_num):
        idx_s = snr_pool[j] > 0

        snr_0 = snr_pool[j][idx_s].mean()
        var_rate = result_stack[j]
        var_err = error_bar_stack[j]
        if idx_s.sum() > 0:
            idx = var_rate > -5
            lb = "SNR$_t$ = %.2f"%snr_0
            # img.axs[m][n].scatter(shears[idx], var_rate[idx], edgecolor=colors[j], s=80, label=lb,
            #                       marker=markers[j], facecolor="none", linewidths=img.plt_line_width)
            img.axs[m][n].errorbar(shears[idx], var_rate[idx],var_err[idx], c=colors[j], ms=9,fmt=" ",label=lb,capsize=3,
                                   marker=markers[j], mfc="none", linewidth=img.plt_line_width)
            # print(labels[i],lb,var_rate)
x_ticks = numpy.linspace(-0.06, 0.06, 5)
for i in range(2):
    m,n = divmod(i,1)

    img.axs[m][n].set_ylim(-0.0035, 0.0035)
    img.axs[m][n].set_yticks(numpy.linspace(-0.003, 0.003, 5))

    img.axs[m][n].set_xlim(-0.075, 0.075)
    img.axs[m][n].set_xticks(x_ticks)

    img.axs_text(m, n, 0.8, 0.1,sig_label[i], text_color='k', text_fontsize=img.legend_size+1)
    img.axs[m][n].legend(fontsize=img.legend_size+1, loc="lower left", frameon=False,ncol=2,handletextpad=0.5)
# img.axs_text(m, n, text_y, text_x, labels[i], text_color='k', text_fontsize=img.legend_size+2)
img.save_img(parent_path + "/sigma_comparison.png")
img.save_img(parent_path + "/sigma_comparison.pdf")
img.close_img()
# img.show_img()
示例#9
0
                               marker="s")

    except:
        print("Can't find the file!", file_path)

for i in range(2):
    for j in range(2):
        xs = img.axs[i][j].set_xlim()
        img.axs[i][j].plot([xs[0], 100], [0, 0],
                           linewidth=img.plt_line_width,
                           c="grey",
                           linestyle="--")
        img.axs[i][j].set_xlim(xs[0], xs[1])
        img.axs[i][j].xaxis.set_major_formatter(xticks)
        img.axs[i][j].set_xlabel("Cutoff percentage", fontsize=img.xy_lb_size)
        tag = 2 * i + j
        img.axs[i][j].set_ylabel(ylabels[tag], fontsize=img.xy_lb_size)
        ys = img.axs[i][j].set_ylim()
        y1 = max(ys[0], -1.8)
        y2 = min(ys[1], 1.8)
        # print(i,j,ys,(y1,y2))
        img.axs[i][j].set_ylim((y1, y2))

img.axs_text(0, 0, 0.85, 0.08, str_rate, text_fontsize=img.legend_size - 5)

img.axs[0][0].legend(fontsize=img.legend_size - 2,
                     ncol=len(files),
                     loc="lower left",
                     bbox_to_anchor=(0.01, 1.02))
img.save_img(pic_path)
img.show_img()
示例#10
0
                       fmt=" ")
img.axs[0][0].scatter(g1_input, g1_result[0], c="C1")
img.axs[0][0].plot(g1_input, g1_input, ls="--", c="grey")

img.axs[0][0].errorbar(g2_input,
                       g2_result[0],
                       g2_result[1],
                       c="C2",
                       label="g2",
                       fmt=" ")
img.axs[0][0].scatter(g2_input, g2_result[0], c="C2")

img.axs[0][0].set_xlim(-0.06, 0.06)
img.axs[0][0].set_ylim(-0.06, 0.06)
img.axs[0][0].legend()
img.axs_text(0, 0, 0.9, 0.07, text_str, text_fontsize=12)

diff1 = g1_result[0] - g1_input
diff2 = g2_result[0] - g2_input
y1 = max([diff1.max(), diff2.max()])
y2 = min([diff1.min(), diff2.min()])
dy = (y1 - y2) * 0.1

img.axs[0][1].scatter(g1_input, diff1, label="$\delta$g1")
img.axs[0][1].scatter(g2_input, diff2, label="$\delta$g2")
img.axs[0][1].plot([-0.04, 0.04], [0, 0], ls="--", c="grey")
img.axs[0][1].set_ylim(y2 - dy, y1 + dy)

img.axs[0][1].legend()
img.save_img("./img.png")
img.show_img()
示例#11
0
    img.figure.colorbar(fig, ax=img.axs[0][2], orientation='horizontal')
    img.axs[0][2].set_title("$g1 \chi^2 grid$")

    fig = img.axs[1][0].imshow(g2_grid1)
    img.figure.colorbar(fig, ax=img.axs[1][0], orientation='horizontal')
    img.axs[1][0].set_title("$g2_N grid$")

    fig = img.axs[1][1].imshow(g2_grid2)
    img.figure.colorbar(fig, ax=img.axs[1][1], orientation='horizontal')
    img.axs[1][1].set_title("$g2_U grid$")

    fig = img.axs[1][2].imshow(chisq2)
    img.figure.colorbar(fig, ax=img.axs[1][2], orientation='horizontal')
    img.axs[1][2].set_title("$g2 \chi^2 grid$")

    img.axs_text(0, 0, 1.2, 0.5, text_str, text_fontsize=10)
    img.save_img(total_path +
                 "/shear_point_chisq_0.0030_0.0070_noise_free_%d.png" % tag)
    # img.show_img()
    img.close_img()

mc1 = numpy.array(tool_box.data_fit(g1t, g1m[0], g1m[1]))
mc2 = numpy.array(tool_box.data_fit(g2t, g2m[0], g2m[1]))
mc1[0] = mc1[0] - 1
mc2[0] = mc2[0] - 1
print(mc1)
print(mc2)
text_str = "g_N\nm1: %.5f(%.5f)\nc1: %.5f(%.5f)\n" \
           "m2: %.5f(%.5f)\nc2: %.5f(%.5f)\n"\
           %(mc1[0],mc1[1],mc1[2],mc1[3],mc2[0],mc2[1],mc2[2],mc2[3])
示例#12
0
def mc_plot(mean_result, mean_mc, sym_result, sym_mc, img_name):

    img = Image_Plot(fig_x=6, fig_y=4, xpad=0.25, ypad=0.2)
    img.subplots(2, 2)

    scale = 1000

    img.axs[0][0].errorbar(mean_result[0],
                           mean_result[1],
                           mean_result[2],
                           marker="s",
                           fmt=" ",
                           label="g1",
                           capsize=img.cap_size)
    img.axs[0][0].errorbar(mean_result[3],
                           mean_result[4],
                           mean_result[5],
                           marker="s",
                           fmt=" ",
                           label="g2",
                           capsize=img.cap_size)
    img.axs[1][0].errorbar(mean_result[0],
                           scale * (mean_result[1] - mean_result[0]),
                           scale * mean_result[2],
                           marker="s",
                           fmt=" ",
                           label="g1",
                           capsize=img.cap_size)
    img.axs[1][0].errorbar(mean_result[3],
                           scale * (mean_result[4] - mean_result[3]),
                           scale * mean_result[5],
                           marker="s",
                           fmt=" ",
                           label="g2",
                           capsize=img.cap_size)

    mc_str = "Mean\n$m_1 = %.5f (%.5f)$\n$c_1 = %.5f (%.5f)$\n$m_2 = %.5f (%.5f)$\n$c_2 = %.5f (%.5f)$" \
             % (mean_mc[0, 0], mean_mc[0, 1], mean_mc[0, 2], mean_mc[0, 3],
                mean_mc[1, 0], mean_mc[1, 1], mean_mc[1, 2], mean_mc[1, 3])
    img.axs_text(0, 0, 0.8, 0.05, mc_str, text_fontsize=img.legend_size)

    img.axs[0][1].errorbar(sym_result[0],
                           sym_result[1],
                           sym_result[2],
                           marker="s",
                           fmt=" ",
                           label="g1",
                           capsize=img.cap_size)
    img.axs[0][1].errorbar(sym_result[3],
                           sym_result[4],
                           sym_result[5],
                           marker="s",
                           fmt=" ",
                           label="g2",
                           capsize=img.cap_size)

    img.axs[1][1].errorbar(sym_result[0],
                           scale * (sym_result[1] - sym_result[0]),
                           scale * sym_result[2],
                           marker="s",
                           fmt=" ",
                           label="g1",
                           capsize=img.cap_size)
    img.axs[1][1].errorbar(sym_result[3],
                           scale * (sym_result[4] - sym_result[3]),
                           scale * sym_result[5],
                           marker="s",
                           fmt=" ",
                           label="g2",
                           capsize=img.cap_size)

    mc_str = "PSF_SYM\n$m_1 = %.5f (%.5f)$\n$c_1 = %.5f (%.5f)$\n$m_2 = %.5f (%.5f)$\n$c_2 = %.5f (%.5f)$" \
             % (sym_mc[0, 0], sym_mc[0, 1], sym_mc[0, 2], sym_mc[0, 3],
                sym_mc[1, 0], sym_mc[1, 1], sym_mc[1, 2], sym_mc[1, 3])
    img.axs_text(0, 1, 0.8, 0.05, mc_str, text_fontsize=img.legend_size)

    for i in range(2):
        img.set_label(0, i, 0, "EST g")
        img.set_label(1, i, 0, "$10^3 (\hat{g} - g_{true})$")
        for j in range(2):
            img.set_label(i, j, 1, "TRUE g")
            img.axs[i][j].legend(fontsize=img.legend_size, loc="lower right")
            img.axs[i][j].plot([-0.1, 0.1], [-0.1, 0.1],
                               ls="dashed",
                               c="grey",
                               alpha=0.5)
            img.axs[0][j].set_ylim(-0.05, 0.05)
            img.axs[1][j].set_ylim(-0.5, 0.5)
            img.axs[i][j].set_xlim(-0.05, 0.05)

    img.save_img(img_name)