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()
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)
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)
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)
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()
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()
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()
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()
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])
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)