def make_sfr_radius_mass_plots(msF,merF,rfiter=3): for sk,fk in zip(snap_keys,fil_keys): parameters, pcd, pc, pcd = make_pc_dict(msF,sk,fk) pc1 = pc.X[:,0].flatten() pc2 = pc.X[:,1].flatten() pc3 = pc.X[:,2].flatten() pc4 = pc.X[:,3].flatten() pc5 = pc.X[:,4].flatten() pc6 = pc.X[:,5].flatten() pc7 = pc.X[:,6].flatten() PCs=pandas.DataFrame(pc.X) asym = get_all_morph_val(msF,sk,fk,'ASYM') gini = get_all_morph_val(msF,sk,fk,'GINI') m20 = get_all_morph_val(msF,sk,fk,'M20') cc = get_all_morph_val(msF,sk,fk,'CC') Mstat = get_all_morph_val(msF,sk,fk,'MID1_MPRIME') Istat = get_all_morph_val(msF,sk,fk,'MID1_ISTAT') Dstat = get_all_morph_val(msF,sk,fk,'MID1_DSTAT') sfid = get_all_snap_val(msF,sk,'SubfindID') S_GM20 = SGM20(gini,m20) F_GM20 = FGM20(gini,m20) latest_NumMajorMergersLastGyr = get_mergerinfo_val(merF,sk,'latest_NumMajorMergersLastGyr') boolean_merger1 = latest_NumMajorMergersLastGyr >= 1.0 this_NumMajorMergersLastGyr = get_mergerinfo_val(merF,sk,'this_NumMajorMergersLastGyr') boolean_merger2 = this_NumMajorMergersLastGyr >= 1.0 mhalo = get_all_snap_val(msF,sk,'Mhalo_Msun') mstar = get_all_snap_val(msF,sk,'Mstar_Msun') log_mstar_mhalo = np.log10( mstar/mhalo ) redshift = msF['nonparmorphs'][sk][fk]['CAMERA0']['REDSHIFT'].value[0] #set up RF data frame above, run or save input/output for each loop iteration rf_dict = {} PARAMS_MOD=True PARAMS_ONLY=False PCS_ONLY=False RUN_RF=True RF_ITER=rfiter rf_masscut = 10.0**(10.5) if PCS_ONLY is True: gi = np.where(np.isfinite(pc1)*np.isfinite(pc2)*np.isfinite(pc3)*np.isfinite(pc4)*np.isfinite(pc5)*np.isfinite(pc6)*np.isfinite(pc7)*(mstar >= rf_masscut) != 0)[0] print(gi.shape, pc1.shape) rf_dict['pc1']=pc1[gi] rf_dict['pc2']=pc2[gi] rf_dict['pc3']=pc3[gi] rf_dict['pc4']=pc4[gi] rf_dict['pc5']=pc5[gi] rf_dict['pc6']=pc6[gi] rf_dict['pc7']=pc7[gi] rf_dict['mergerFlag']=boolean_merger1[gi] rf_dict['SubfindID']=sfid[gi] cols=['pc1','pc2','pc3','pc4','pc5','pc6','pc7'] rflabel='pcs' if PARAMS_ONLY is True: gi = np.where(np.isfinite(gini)*np.isfinite(m20)*np.isfinite(asym)*np.isfinite(Mstat)*np.isfinite(Istat)*np.isfinite(Dstat)*np.isfinite(cc)*(mstar >= rf_masscut) != 0)[0] print(gi.shape, pc1.shape) rf_dict['gini']=gini[gi] rf_dict['m20']=m20[gi] rf_dict['asym']=asym[gi] rf_dict['Mstat']=Mstat[gi] rf_dict['Istat']=Istat[gi] rf_dict['Dstat']=Dstat[gi] rf_dict['cc']=cc[gi] rf_dict['mergerFlag']=boolean_merger1[gi] rf_dict['SubfindID']=sfid[gi] cols=['gini','m20','asym','Mstat','Istat','Dstat','cc'] rflabel='params' if PARAMS_MOD is True: gi = np.where(np.isfinite(S_GM20)*np.isfinite(F_GM20)*np.isfinite(asym)*np.isfinite(Mstat)*np.isfinite(Istat)*np.isfinite(Dstat)*np.isfinite(cc)*(mstar >= rf_masscut) != 0)[0] print(gi.shape, pc1.shape) rf_dict['dGM20']=S_GM20[gi] rf_dict['fGM20']=F_GM20[gi] rf_dict['asym']=asym[gi] rf_dict['Mstat']=Mstat[gi] rf_dict['Istat']=Istat[gi] rf_dict['Dstat']=Dstat[gi] rf_dict['cc']=cc[gi] rf_dict['mergerFlag']=boolean_merger1[gi] rf_dict['SubfindID']=sfid[gi] cols=['dGM20','fGM20','asym','Mstat','Istat','Dstat','cc'] rflabel='paramsmod' if RUN_RF is True: if redshift < 4.2: df=pandas.DataFrame(rf_dict) print("Running Random Forest... ", sk, fk) result, labels, label_probability = PyML.randomForestMC(df,iterations=RF_ITER,cols=cols) #result = summary statistics, feature importances (N iterations x N statistics/importances) #labels = labels following random forest (N galaxies x N iterations) #label_probability = probability of label following random forest (N galaxies x N iterations) #saves the output as a file if not os.path.lexists('rfoutput'): os.mkdir('rfoutput') labels['mergerFlag']=df['mergerFlag'] label_probability['mergerFlag']=df['mergerFlag'] labels['SubfindID']=df['SubfindID'] label_probability['SubfindID']=df['SubfindID'] df.to_pickle('rfoutput/'+rflabel+'_data_cut_{}_{}.pkl'.format(sk,fk)) result.to_pickle('rfoutput/'+rflabel+'_result_cut_{}_{}.pkl'.format(sk,fk)) labels.to_pickle('rfoutput/'+rflabel+'_labels_cut_{}_{}.pkl'.format(sk,fk)) label_probability.to_pickle('rfoutput/'+rflabel+'_label_probability_cut_{}_{}.pkl'.format(sk,fk)) PCs.to_pickle('rfoutput/'+rflabel+'_pc_cut_{}_{}.pkl'.format(sk,fk)) bins=18 xlim=[9.7,12.2] ylim=[-2.0,3.0] rlim=[0.1,1.7] plot_filen = 'pc1/sfr_radius_mass_'+sk+'_'+fk+'_pc1.pdf' if not os.path.lexists('pc1'): os.mkdir('pc1') f1 = pyplot.figure(figsize=(3.5,5.0), dpi=300) pyplot.subplots_adjust(left=0.15, right=0.98, bottom=0.08, top=0.88,wspace=0.0,hspace=0.0) colorobj = plot_sfr_radius_mass(msF,merF,sk,fk,f1,xlim=xlim,ylim=ylim,rlim=rlim,Cval=pc1,vmin=-2,vmax=3,bins=bins) gth.make_colorbar(colorobj,title='PC1 morphology',ticks=[-2,-1,0,1,2,3]) f1.savefig(plot_filen,dpi=300) pyplot.close(f1) plot_filen = 'pc3/sfr_radius_mass_'+sk+'_'+fk+'_pc3.pdf' if not os.path.lexists('pc3'): os.mkdir('pc3') f1 = pyplot.figure(figsize=(3.5,5.0), dpi=300) pyplot.subplots_adjust(left=0.15, right=0.98, bottom=0.08, top=0.88,wspace=0.0,hspace=0.0) colorobj = plot_sfr_radius_mass(msF,merF,sk,fk,f1,xlim=xlim,ylim=ylim,rlim=rlim,Cval=pc3,vmin=-1,vmax=3,bins=bins) gth.make_colorbar(colorobj,title='PC3 morphology',ticks=[-1,0,1,2,3]) f1.savefig(plot_filen,dpi=300) pyplot.close(f1) plot_filen = 'asym/sfr_radius_mass_'+sk+'_'+fk+'_asym.pdf' if not os.path.lexists('asym'): os.mkdir('asym') f1 = pyplot.figure(figsize=(3.5,5.0), dpi=300) pyplot.subplots_adjust(left=0.15, right=0.98, bottom=0.08, top=0.88,wspace=0.0,hspace=0.0) colorobj = plot_sfr_radius_mass(msF,merF,sk,fk,f1,xlim=xlim,ylim=ylim,rlim=rlim,Cval=asym,vmin=0.0,vmax=0.4,bins=bins) gth.make_colorbar(colorobj,title='Asymmetry',ticks=[0.0,0.20,0.40]) f1.savefig(plot_filen,dpi=300) pyplot.close(f1) plot_filen = 'merger1/sfr_radius_mass_'+sk+'_'+fk+'_merger1.pdf' if not os.path.lexists('merger1'): os.mkdir('merger1') f1 = pyplot.figure(figsize=(3.5,5.0), dpi=300) pyplot.subplots_adjust(left=0.15, right=0.98, bottom=0.08, top=0.88,wspace=0.0,hspace=0.0) colorobj = plot_sfr_radius_mass(msF,merF,sk,fk,f1,xlim=xlim,ylim=ylim,rlim=rlim,Cval=boolean_merger1,min_bin=3,gridf='fraction_grid',vmin=0.0,vmax=0.5,bins=bins) gth.make_colorbar(colorobj,title='fraction major merger',ticks=[0.0,0.25,0.50],format='%.2f') f1.savefig(plot_filen,dpi=300) pyplot.close(f1) plot_filen = 'merger3/sfr_radius_mass_'+sk+'_'+fk+'_merger3.pdf' if not os.path.lexists('merger3'): os.mkdir('merger3') f1 = pyplot.figure(figsize=(3.5,5.0), dpi=300) pyplot.subplots_adjust(left=0.15, right=0.98, bottom=0.08, top=0.88,wspace=0.0,hspace=0.0) colorobj = plot_sfr_radius_mass(msF,merF,sk,fk,f1,xlim=xlim,ylim=ylim,rlim=rlim,Cval=boolean_merger1,min_bin=3,gridf='normed_proportion_grid',vmin=0.0,vmax=1.0,bins=bins) gth.make_colorbar(colorobj,title='proportion of major mergers',ticks=[0.0,0.5,1.0],format='%.2f') f1.savefig(plot_filen,dpi=300) pyplot.close(f1) plot_filen = 'mstar_mhalo/sfr_radius_mass_'+sk+'_'+fk+'_mstar_mhalo.pdf' if not os.path.lexists('mstar_mhalo'): os.mkdir('mstar_mhalo') f1 = pyplot.figure(figsize=(3.5,5.0), dpi=300) pyplot.subplots_adjust(left=0.15, right=0.98, bottom=0.08, top=0.88,wspace=0.0,hspace=0.0) colorobj = plot_sfr_radius_mass(msF,merF,sk,fk,f1,xlim=xlim,ylim=ylim,rlim=rlim,Cval=log_mstar_mhalo,min_bin=3,gridf='median_grid',vmin=-2.0,vmax=-0.5,bins=bins) gth.make_colorbar(colorobj,title='median $log_{10} M_*/M_{h}$',ticks=[-2,-1.5,-1,-0.5]) f1.savefig(plot_filen,dpi=300) pyplot.close(f1) plot_filen = 'mhalo/sfr_radius_mass_'+sk+'_'+fk+'_mhalo.pdf' if not os.path.lexists('mhalo'): os.mkdir('mhalo') f1 = pyplot.figure(figsize=(3.5,5.0), dpi=300) pyplot.subplots_adjust(left=0.15, right=0.98, bottom=0.08, top=0.88,wspace=0.0,hspace=0.0) colorobj = plot_sfr_radius_mass(msF,merF,sk,fk,f1,xlim=xlim,ylim=ylim,rlim=rlim,Cval=np.log10(mhalo),min_bin=3,gridf='median_grid',vmin=11.5,vmax=14.0,bins=bins) gth.make_colorbar(colorobj,title='median $log_{10} M_{h}$',ticks=[11.5,12.0,13.0,14.0]) f1.savefig(plot_filen,dpi=300) pyplot.close(f1) return locals()
def make_morphology_plots(msF,merF,vardict=None): for sk,fk in zip(snap_keys,fil_keys): parameters, pcd, pc, pcd = make_pc_dict(msF,sk,fk) pc1 = pc.X[:,0].flatten() pc2 = pc.X[:,1].flatten() pc3 = pc.X[:,2].flatten() pc4 = pc.X[:,3].flatten() pc5 = pc.X[:,4].flatten() pc6 = pc.X[:,5].flatten() pc7 = pc.X[:,6].flatten() PCs=pandas.DataFrame(pc.X) asym = get_all_morph_val(msF,sk,fk,'ASYM') gini = get_all_morph_val(msF,sk,fk,'GINI') m20 = get_all_morph_val(msF,sk,fk,'M20') cc = get_all_morph_val(msF,sk,fk,'CC') Mstat = get_all_morph_val(msF,sk,fk,'MID1_MPRIME') Istat = get_all_morph_val(msF,sk,fk,'MID1_ISTAT') Dstat = get_all_morph_val(msF,sk,fk,'MID1_DSTAT') S_GM20 = SGM20(gini,m20) F_GM20 = FGM20(gini,m20) latest_NumMajorMergersLastGyr = get_mergerinfo_val(merF,sk,'latest_NumMajorMergersLastGyr') boolean_merger1 = latest_NumMajorMergersLastGyr >= 1.0 latest_NumMinorMergersLastGyr = get_mergerinfo_val(merF,sk,'latest_NumMinorMergersLastGyr') boolean_merger4 = latest_NumMinorMergersLastGyr >= 1.0 this_NumMajorMergersLastGyr = get_mergerinfo_val(merF,sk,'this_NumMajorMergersLastGyr') boolean_merger2 = this_NumMajorMergersLastGyr >= 1.0 mhalo = get_all_snap_val(msF,sk,'Mhalo_Msun') mstar = get_all_snap_val(msF,sk,'Mstar_Msun') log_mstar_mhalo = np.log10( mstar/mhalo ) redshift = msF['nonparmorphs'][sk][fk]['CAMERA0']['REDSHIFT'].value[0] bins=14 xlim=[0.0,1.0] x2lim=[-0.5,-2.7] ylim=[0.4,5.0] y2lim=[0.35,0.70] masscut = 10.0**(10.5) numbers = [3,30] plot_filen = 'pc1/morphology_'+sk+'_'+fk+'_pc1.pdf' if not os.path.lexists('pc1'): os.mkdir('pc1') print(plot_filen) f1 = pyplot.figure(figsize=(3.5,5.0), dpi=300) pyplot.subplots_adjust(left=0.15, right=0.98, bottom=0.08, top=0.88,wspace=0.0,hspace=0.22) colorobj = plot_g_m20_cc_a(msF,merF,sk,fk,f1,xlim=xlim,x2lim=x2lim,ylim=ylim,y2lim=y2lim,Cval=pc1,vmin=-2,vmax=3,bins=bins,masscut=masscut,numbers=numbers) gth.make_colorbar(colorobj,title='PC1 morphology',ticks=[-2,-1,0,1,2,3]) f1.savefig(plot_filen,dpi=300) pyplot.close(f1) plot_filen = 'pc3/morphology_'+sk+'_'+fk+'_pc1.pdf' if not os.path.lexists('pc3'): os.mkdir('pc3') f1 = pyplot.figure(figsize=(3.5,5.0), dpi=300) pyplot.subplots_adjust(left=0.15, right=0.98, bottom=0.08, top=0.88,wspace=0.0,hspace=0.22) colorobj = plot_g_m20_cc_a(msF,merF,sk,fk,f1,xlim=xlim,x2lim=x2lim,ylim=ylim,y2lim=y2lim,Cval=pc3,vmin=-1,vmax=3,bins=bins,masscut=masscut,numbers=numbers) gth.make_colorbar(colorobj,title='PC3 morphology',ticks=[-1,0,1,2,3]) f1.savefig(plot_filen,dpi=300) pyplot.close(f1) plot_filen = 'asym/morphology_'+sk+'_'+fk+'_pc1.pdf' if not os.path.lexists('asym'): os.mkdir('asym') f1 = pyplot.figure(figsize=(3.5,5.0), dpi=300) pyplot.subplots_adjust(left=0.15, right=0.98, bottom=0.08, top=0.88,wspace=0.0,hspace=0.22) colorobj = plot_g_m20_cc_a(msF,merF,sk,fk,f1,xlim=xlim,x2lim=x2lim,ylim=ylim,y2lim=y2lim,Cval=asym,vmin=0.0,vmax=0.4,bins=bins,masscut=masscut,numbers=numbers) gth.make_colorbar(colorobj,title='Asymmetry',ticks=[0.0,0.2,0.4]) f1.savefig(plot_filen,dpi=300) pyplot.close(f1) plot_filen = 'merger1/morphology_'+sk+'_'+fk+'_merger1.pdf' if not os.path.lexists('merger1'): os.mkdir('merger1') f1 = pyplot.figure(figsize=(3.5,5.0), dpi=300) pyplot.subplots_adjust(left=0.15, right=0.98, bottom=0.08, top=0.88,wspace=0.0,hspace=0.22) colorobj = plot_g_m20_cc_a(msF,merF,sk,fk,f1,xlim=xlim,x2lim=x2lim,ylim=ylim,y2lim=y2lim,Cval=boolean_merger1,min_bin=3,gridf='fraction_grid',vmin=0.0,vmax=0.5,bins=bins,masscut=masscut,numbers=numbers) gth.make_colorbar(colorobj,title='fraction major merger',ticks=[0.0,0.25,0.50],format='%.2f') f1.savefig(plot_filen,dpi=300) pyplot.close(f1) plot_filen = 'merger2/morphology_'+sk+'_'+fk+'_merger2.pdf' if not os.path.lexists('merger2'): os.mkdir('merger2') f1 = pyplot.figure(figsize=(3.5,5.0), dpi=300) pyplot.subplots_adjust(left=0.15, right=0.98, bottom=0.08, top=0.88,wspace=0.0,hspace=0.22) colorobj = plot_g_m20_cc_a(msF,merF,sk,fk,f1,xlim=xlim,x2lim=x2lim,ylim=ylim,y2lim=y2lim,Cval=boolean_merger2,min_bin=3,gridf='fraction_grid',vmin=0.0,vmax=0.5,bins=bins,masscut=masscut,numbers=numbers) gth.make_colorbar(colorobj,title='fraction past major merger',ticks=[0.0,0.25,0.50],format='%.2f') f1.savefig(plot_filen,dpi=300) pyplot.close(f1) plot_filen = 'merger3/morphology_'+sk+'_'+fk+'_merger3.pdf' if not os.path.lexists('merger3'): os.mkdir('merger3') f1 = pyplot.figure(figsize=(3.5,5.0), dpi=300) pyplot.subplots_adjust(left=0.15, right=0.98, bottom=0.08, top=0.88,wspace=0.0,hspace=0.22) colorobj = plot_g_m20_cc_a(msF,merF,sk,fk,f1,xlim=xlim,x2lim=x2lim,ylim=ylim,y2lim=y2lim,Cval=boolean_merger1,min_bin=3,gridf='normed_proportion_grid',vmin=0.0,vmax=1.0,bins=bins,masscut=masscut,numbers=numbers) gth.make_colorbar(colorobj,title='proportion of major mergers',ticks=[0.0,0.5,1.0],format='%.2f') f1.savefig(plot_filen,dpi=300) pyplot.close(f1) plot_filen = 'merger4/morphology_'+sk+'_'+fk+'_merger4.pdf' if not os.path.lexists('merger4'): os.mkdir('merger4') f1 = pyplot.figure(figsize=(3.5,5.0), dpi=300) pyplot.subplots_adjust(left=0.15, right=0.98, bottom=0.08, top=0.88,wspace=0.0,hspace=0.22) colorobj = plot_g_m20_cc_a(msF,merF,sk,fk,f1,xlim=xlim,x2lim=x2lim,ylim=ylim,y2lim=y2lim,Cval=boolean_merger4,min_bin=3,gridf='fraction_grid',vmin=0.0,vmax=0.5,bins=bins,masscut=masscut,numbers=numbers) gth.make_colorbar(colorobj,title='fraction minor+major merger',ticks=[0.0,0.25,0.50],format='%.2f') f1.savefig(plot_filen,dpi=300) pyplot.close(f1) plot_filen = 'mstar_mhalo/morphology_'+sk+'_'+fk+'_mstar_mhalo.pdf' if not os.path.lexists('mstar_mhalo'): os.mkdir('mstar_mhalo') f1 = pyplot.figure(figsize=(3.5,5.0), dpi=300) pyplot.subplots_adjust(left=0.15, right=0.98, bottom=0.08, top=0.88,wspace=0.0,hspace=0.22) colorobj = plot_g_m20_cc_a(msF,merF,sk,fk,f1,xlim=xlim,x2lim=x2lim,ylim=ylim,y2lim=y2lim,Cval=log_mstar_mhalo,min_bin=3,gridf='median_grid',vmin=-2.0,vmax=-0.5,bins=bins,masscut=masscut,numbers=numbers) gth.make_colorbar(colorobj,title='median $log_{10} M_*/M_{h}$',ticks=[-2,-1.5,-1,-0.5]) f1.savefig(plot_filen,dpi=300) pyplot.close(f1) plot_filen = 'mhalo/morphology_'+sk+'_'+fk+'_mhalo.pdf' if not os.path.lexists('mhalo'): os.mkdir('mhalo') f1 = pyplot.figure(figsize=(3.5,5.0), dpi=300) pyplot.subplots_adjust(left=0.15, right=0.98, bottom=0.08, top=0.88,wspace=0.0,hspace=0.22) colorobj = plot_g_m20_cc_a(msF,merF,sk,fk,f1,xlim=xlim,x2lim=x2lim,ylim=ylim,y2lim=y2lim,Cval=np.log10(mhalo),min_bin=3,gridf='median_grid',vmin=11.5,vmax=14.0,bins=bins,masscut=masscut,numbers=numbers) gth.make_colorbar(colorobj,title='median $log_{10} M_{h}$',ticks=[11.5,12.0,13.0,14.0]) f1.savefig(plot_filen,dpi=300) pyplot.close(f1) return locals()
def jwst_nirspec_figure(alph=0.1, Q=1.0, dx=0, dy=0, Npix=400.0, do_psf=False): natch_z2 = 'nref11/RD0020/mcrx.fits' extra_z2 = 'nref11_refine200kpc_z4to2/RD0020/mcrx.fits' extra_z3 = 'nref11_refine200kpc_z4to2/RD0017/mcrx.fits' cs = 'CAMERA3-NONSCATTER' natch_z2_o = snapshot() extra_z2_o = snapshot() extra_z3_o = snapshot() rf = 21 #F200W 0.75 gf = 19 #F115W 0.40 bf = 4 #ACS/F775W rest far-UV 0.25 il = 1310 in2 = 1316 ic = 1296 fudge = 1.0 lfact = 1.0 mid = np.int64(400.0 / 2) if Npix is not None: delt = np.int64(Npix / 2) filen = 'nirspec.pdf' extra_z2_o.ha = fudge * pyfits.open( extra_z2)[cs].data[il, dx + mid - delt:dx + mid + delt, dy + mid - delt:dy + mid + delt] * lfact extra_z3_o.ha = fudge * pyfits.open( extra_z3)[cs].data[il, dx + mid - delt:dx + mid + delt, dy + mid - delt:dy + mid + delt] * lfact extra_z2_o.n2 = fudge * pyfits.open( extra_z2)[cs].data[in2, dx + mid - delt:dx + mid + delt, dy + mid - delt:dy + mid + delt] * lfact extra_z3_o.n2 = fudge * pyfits.open( extra_z3)[cs].data[in2, dx + mid - delt:dx + mid + delt, dy + mid - delt:dy + mid + delt] * lfact extra_z2_o.c = fudge * pyfits.open(extra_z2)[cs].data[ic, dx + mid - delt:dx + mid + delt, dy + mid - delt:dy + mid + delt] * lfact extra_z3_o.c = fudge * pyfits.open(extra_z3)[cs].data[ic, dx + mid - delt:dx + mid + delt, dy + mid - delt:dy + mid + delt] * lfact natch_z2_o.ha = fudge * pyfits.open( natch_z2)[cs].data[il, dx + mid - delt:dx + mid + delt, dy + mid - delt:dy + mid + delt] * lfact natch_z2_o.n2 = fudge * pyfits.open( natch_z2)[cs].data[in2, dx + mid - delt:dx + mid + delt, dy + mid - delt:dy + mid + delt] * lfact natch_z2_o.c = fudge * pyfits.open(natch_z2)[cs].data[ic, dx + mid - delt:dx + mid + delt, dy + mid - delt:dy + mid + delt] * lfact kpc_per_arcsec_z2 = WMAP9.kpc_proper_per_arcmin(2.0).value / 60.0 kpc_per_arcsec_z3 = WMAP9.kpc_proper_per_arcmin(2.75).value / 60.0 kpc_per_pix = 0.125 #high-res version first spinelw = 1.0 f1 = pyplot.figure(figsize=(10.0, 10.0), dpi=200) pyplot.subplots_adjust(left=0.0, right=1.0, bottom=0.0, top=1.0, wspace=0.0, hspace=0.0) axi = f1.add_subplot(2, 2, 1) axi.set_xticks([]) axi.set_yticks([]) axi.annotate('JWST-Nirspec/IFU', (0.50, 0.88), xycoords='axes fraction', color='Black', ha='center', va='center', fontsize=25) rat = np.log10(natch_z2_o.n2 / natch_z2_o.ha) vmin = -0.5 vmax = 0.0 themap = cm.viridis rat = np.where(rat > vmax, -1000.0, rat) Zm = ma.masked_where(rat < -100.0, rat) cscale_function = pycolors.Normalize(vmin=vmin, vmax=vmax, clip=True) axi.imshow(np.fliplr(np.transpose(Zm)), interpolation='nearest', origin='upper', vmin=vmin, vmax=vmax, cmap=themap) for ss in axi.spines: s = axi.spines[ss] s.set_color('white') s.set_linewidth(spinelw) axi = f1.add_subplot(2, 2, 2) axi.set_xticks([]) axi.set_yticks([]) rat = np.log10(extra_z2_o.n2 / extra_z2_o.ha) vmin = -0.5 vmax = 0.0 themap = cm.viridis rat = np.where(rat > vmax, -1000.0, rat) Zm = ma.masked_where(rat < -100.0, rat) cscale_function = pycolors.Normalize(vmin=vmin, vmax=vmax, clip=True) axi.imshow(np.fliplr(np.transpose(Zm)), interpolation='nearest', origin='upper', vmin=vmin, vmax=vmax, cmap=themap) for ss in axi.spines: s = axi.spines[ss] s.set_color('white') s.set_linewidth(spinelw) axi = f1.add_subplot(2, 2, 4) axi.set_xticks([]) axi.set_yticks([]) rat = np.log10(extra_z3_o.n2 / extra_z3_o.ha) vmin = -0.5 vmax = 0.0 themap = cm.viridis rat = np.where(rat > vmax, -1000.0, rat) Zm = ma.masked_where(rat < -100.0, rat) cscale_function = pycolors.Normalize(vmin=vmin, vmax=vmax, clip=True) obj = axi.imshow(np.fliplr(np.transpose(Zm)), interpolation='nearest', origin='upper', vmin=vmin, vmax=vmax, cmap=themap) gth.make_colorbar(obj, f1, title=r'$log_{10} [NII]/H \alpha $', ticks=[-0.5, 0.0], loc=[0.60, 0.50, 0.3, 0.05], fontsize=25) for ss in axi.spines: s = axi.spines[ss] s.set_color('white') s.set_linewidth(spinelw) pyplot.subplots_adjust(left=0.0, right=1.0, bottom=0.0, top=1.0, wspace=0.0, hspace=0.0) f1.savefig(filen, dpi=200) pyplot.close(f1) return