def plot_hist(x, y, xlabel, ylabel, filepath): pyplot.rcParams.update({'font.size':40}) fig, ax = pyplot.subplots(figsize = (20,20)) x_bins = numpy.logspace(numpy.log10(numpy.amin(x)), numpy.log10(numpy.amax(x)), num = 50) bins = unyt.unyt_array(numpy.logspace(numpy.log10(numpy.amin(x)), numpy.log10(numpy.amax(x)), num = 20), units = x.units) y_bins = numpy.logspace(numpy.log10(numpy.amin(y)), numpy.log10(numpy.amax(y)), num = 50) h = ax.hist2d(x, y, bins = [x_bins, y_bins], norm = LogNorm()) pyplot.colorbar(h[3], ax=ax) ax.loglog() ax.set_ylabel(ylabel) ax.set_xlabel(xlabel) ax.tick_params(which = 'both', direction = 'in') ax.tick_params(length = 10, width = 2) centers, med, err = bml(x, y, x_bins = bins) ax.plot(centers, med, linestyle = '--', linewidth = 7, color = 'red') fig.savefig(filepath)
from matplotlib import pyplot import numpy from matplotlib.colors import LogNorm from velociraptor.tools.lines import binned_median_line as bml import unyt pyplot.rcParams.update({'font.size':40}) import dm_spread_mass import simba_dm_spread_mass from velociraptor import load simba_spread = simba_dm_spread_mass.spread simba_mass = simba_dm_spread_mass.mass simba_xbins = numpy.logspace(numpy.log10(numpy.amin(simba_mass)), numpy.log10(numpy.amax(simba_mass)), num = 50) simba_ybins = numpy.logspace(numpy.log10(numpy.amin(simba_spread)), numpy.log10(numpy.amax(simba_spread)), num = 50) simba_bins = unyt.unyt_array(numpy.logspace(numpy.log10(numpy.amin(simba_mass)), numpy.log10(numpy.amax(simba_mass)), num = 20), units = simba_mass.units) simba_centers, simba_med, simba_err = bml(simba_mass, simba_spread, x_bins = simba_bins) simba_radius = simba_dm_spread_mass.radius simba_halo_centers, simba_halo_med, simba_halo_err = bml(simba_mass, simba_radius, x_bins = simba_bins) eagle_spread = dm_spread_mass.spread eagle_mass = dm_spread_mass.mass eagle_xbins = numpy.logspace(numpy.log10(numpy.amin(eagle_mass)), numpy.log10(numpy.amax(eagle_mass)), num = 50) eagle_ybins = numpy.logspace(numpy.log10(numpy.amin(eagle_spread)), numpy.log10(numpy.amax(eagle_spread)), num = 50) eagle_bins = unyt.unyt_array(numpy.logspace(numpy.log10(numpy.amin(eagle_mass)), numpy.log10(numpy.amax(eagle_mass)), num = 20), units = eagle_mass.units) eagle_centers, eagle_med, eagle_err = bml(eagle_mass, eagle_spread, x_bins = eagle_bins) eagle_radius = dm_spread_mass.radius eagle_halo_centers, eagle_halo_med, eagle_halo_err = bml(eagle_mass, eagle_radius, x_bins = eagle_bins) #remember to mask radius and remove frac spread fig, (ax1, ax2, ax3) = pyplot.subplots(1,3, figsize = (60, 20), sharey = True)
import numpy import matplotlib matplotlib.use('Agg') from matplotlib import pyplot pyplot.rcParams.update({'font.size':40}) from matplotlib.colors import LogNorm from swiftsimio import load from velociraptor.tools.lines import binned_median_line as bml import unyt spread = numpy.loadtxt('/cosma5/data/durham/dc-murr1/gas_spread.txt') snap = load('/cosma6/data/dp004/dc-borr1/swift-test-data/eagle_0037.hdf5') temp = snap.gas.temperatures fig, ax = pyplot.subplots(figsize = (20,20)) x_bins = numpy.logspace(numpy.log10(numpy.amin(temp)), numpy.log10(numpy.amax(temp)), num = 100) y_bins = numpy.logspace(numpy.log10(numpy.amin(spread)), numpy.log10(numpy.amax(spread)), num = 100) h = ax.hist2d(temp, spread, bins = [x_bins, y_bins], norm = LogNorm()) pyplot.colorbar(h[3], ax=ax) ax.loglog() ax.set_ylabel('Spread metric [Mpc]') ax.set_xlabel("Temperature [K]") ax.tick_params(length = 10, width = 3) x_bins = unyt.unyt_array(x_bins, units = temp.units) spread = unyt.unyt_array(spread, units = 'Mpc') centers, med, err = bml(temp, spread, x_bins = x_bins) ax.plot(centers, med, linestyle = '--', linewidth = 7, color = 'red') fig.savefig('/cosma5/data/durham/dc-murr1/gas_spread_temperature_metric.png')
from matplotlib import pyplot pyplot.rcParams.update({'font.size': 40}) import unyt from velociraptor.tools.lines import binned_median_line as bml spread = numpy.loadtxt('/cosma5/data/durham/dc-murr1/dm_spread.txt') mass = numpy.loadtxt('/cosma5/data/durham/dc-murr1/average_halo_mass.txt') radius = numpy.loadtxt('/cosma5/data/durham/dc-murr1/average_halo_radius.txt') mass_bins = numpy.logspace(numpy.log10(numpy.min(mass)), numpy.log10(numpy.max(mass)), 20) mass_bins = unyt.unyt_array(mass_bins, units=unyt.msun) mass = unyt.unyt_array(mass, units=unyt.msun) spread = unyt.unyt_array(spread, units=unyt.Mpc) radius = unyt.unyt_array(radius, units=unyt.Mpc) centers, med, err = bml(mass, spread, mass_bins, minimum_in_bin=1) rad_centers, rad_med, rad_err = bml(mass, 2 * radius, mass_bins, minimum_in_bin=1) fig, ax = pyplot.subplots(figsize=(20, 20)) ax.scatter(mass, spread, s=0.1, edgecolor=None, alpha=0.5) ax.plot(centers, med, linestyle='--', linewidth=6, color='black', label='Median spread') ax.plot(rad_centers, rad_med,
from velociraptor.tools.lines import binned_median_line as bml import unyt spread = numpy.loadtxt('/cosma5/data/durham/dc-murr1/gas_spread.txt') density = numpy.loadtxt( '/cosma5/data/durham/dc-murr1/gas_neighbour_density.txt') snap = load('/cosma6/data/dp004/dc-borr1/swift-test-data/eagle_0037.hdf5') dens = snap.gas.densities fig, ax = pyplot.subplots(figsize=(20, 20)) x_bins = numpy.logspace(numpy.log10(numpy.amin(density)), numpy.log10(numpy.amax(density)), num=100) y_bins = numpy.logspace(numpy.log10(numpy.amin(spread)), numpy.log10(numpy.amax(spread)), num=100) h = ax.hist2d(density, spread, bins=[x_bins, y_bins], norm=LogNorm()) pyplot.colorbar(h[3], ax=ax) ax.loglog() ax.set_ylabel('Spread metric [Mpc]') ax.set_xlabel(r"Neighbour local density [$M_{\odot}/(Mpc)^3$]") ax.tick_params(length=10, width=3) x_bins = unyt.unyt_array(x_bins, units=dens.units) spread = unyt.unyt_array(spread, units='Mpc') density = unyt.unyt_array(density, units=dens.units) centers, med, err = bml(density, spread, x_bins=x_bins) ax.plot(centers, med, linestyle='--', linewidth=7, color='red') fig.savefig( '/cosma5/data/durham/dc-murr1/gas_neighbour_spread_density_metric.png')
where2 = numpy.where(m30 >= 0)[0] m30 = m30[where2] sfr = sfr[where2] non_zero_sfr = numpy.delete(sfr, numpy.where(sfr == 0)[0]) non_zero_m30 = numpy.delete(m30, numpy.where(sfr == 0)[0]) non_zero_sfr = numpy.delete(non_zero_sfr, numpy.where(non_zero_m30 == 0)[0]) non_zero_m30 = numpy.delete(non_zero_m30, numpy.where(non_zero_m30 == 0)[0]) low_sfr = numpy.amin(non_zero_sfr) low_m30 = numpy.amin(non_zero_m30) for loc in numpy.where(sfr == 0)[0]: sfr[loc] = low_sfr / 2 for loc in numpy.where(m30 == 0)[0]: m30[loc] = low_m30 / 2 print(numpy.amin(sfr), numpy.amin(m30), numpy.amin(non_zero_sfr), numpy.amin(non_zero_m30)) fig, ax = pyplot.subplots(figsize=(20, 20)) ax.tick_params(length=10, width=2, direction='in') bins = unyt.unyt_array(numpy.logspace(numpy.log10(numpy.amin(non_zero_m30)), numpy.log10(numpy.amax(non_zero_m30)), 20), units=m30.units) centers, med, err = bml(non_zero_m30, non_zero_sfr, x_bins=bins) ax.scatter(m30, sfr, marker='o', s=20) ax.plot(centers, med, linestyle='--', linewidth=5, color='black') ax.loglog() ax.set_ylabel(get_full_label(sfr)) ax.set_xlabel(get_full_label(m30)) fig.savefig('/cosma5/data/durham/dc-murr1/sfr_stellar_mass.png')
h3 = ax3.hist2d(mass3, spread3, bins=[x_bins3, y_bins3], norm=LogNorm()) pyplot.colorbar(h3[3], ax=ax3) ax3.loglog() ax3.set_ylabel('Star spread metric [Mpc]') ax3.set_xlabel(r'Average halo mass [$M_{\odot}$]') spread4 = spread1 mass4 = mass1 radius4 = numpy.loadtxt('/cosma5/data/durham/dc-murr1/average_halo_radius.txt') mass_bins4 = numpy.logspace(numpy.log10(numpy.min(mass4)), numpy.log10(numpy.max(mass4)), 20) mass_bins4 = unyt.unyt_array(mass_bins4, units=unyt.msun) mass4 = unyt.unyt_array(mass4, units=unyt.msun) spread4 = unyt.unyt_array(spread4, units=unyt.Mpc) radius4 = unyt.unyt_array(radius4, units=unyt.Mpc) centers4, med4, err4 = bml(mass4, spread4, mass_bins4, minimum_in_bin=1) rad_centers4, rad_med4, rad_err4 = bml(mass4, 2 * radius4, mass_bins4, minimum_in_bin=1) ax4.scatter(mass4, spread4, s=0.1, edgecolor=None, alpha=0.5) ax4.plot(centers4, med4, linestyle='--', linewidth=6, color='black', label='Median spread') ax4.plot(rad_centers4, rad_med4, linestyle='--', linewidth=6,
mass = mass[m_wh] xlabel = get_full_label(mass) ylabel = get_full_label(x) obs = numpy.loadtxt('/cosma5/data/durham/dc-murr1/Zahid2014.txt') m_obs = obs[:,0] x_obs = obs[:,1] x_obs = 10**(x_obs - 12) from velociraptor.tools.lines import binned_median_line as bml mass_bins = numpy.logspace(numpy.log10(numpy.min(mass).value), numpy.log10(numpy.max(mass).value), 20) mass_bins = unyt.unyt_array(mass_bins, units = mass.units) centers, med, err = bml(mass, x, mass_bins, minimum_in_bin = 1) obs_bins = numpy.logspace(numpy.log10(numpy.min(m_obs)), numpy.log10(numpy.max(m_obs)), 20) obs_bins = unyt.unyt_array(obs_bins, units = mass.units) m_obs = unyt.unyt_array(m_obs, units = mass.units) x_obs = unyt.unyt_array(x_obs, units = x.units) obs_centers, obs_med, obs_err = bml(m_obs, x_obs, obs_bins, minimum_in_bin = 1) fig, ax = pyplot.subplots(figsize = (20,20)) ax.set_ylabel(ylabel) ax.set_xlabel(xlabel) ax.scatter(mass, x, s = 64, alpha = 0.4, color = 'blue') ax.plot(centers, med, linestyle = '--', linewidth = 6, color = 'blue', label = 'EAGLE') ax.loglog() ax.scatter(m_obs, x_obs, s = 64, alpha = 0.4, color = 'red') ax.plot(obs_centers, obs_med, linestyle = '--', linewidth = 6, color = 'red', label = 'Zahid et al.')
structure = numpy.delete(structure, numpy.where(mass <= 0)[0], 0) stellar_form = numpy.delete(stellar_form, numpy.where(mass <= 0)[0], 0) mass = numpy.delete(mass, numpy.where(mass <= 0)[0], 0) structure = numpy.delete(structure, numpy.where(stellar_form <= 0)[0], 0) mass = numpy.delete(mass, numpy.where(stellar_form <= 0)[0], 0) stellar_form = numpy.delete(stellar_form, numpy.where(stellar_form <= 0)[0], 0) mass = numpy.delete(mass, numpy.where(structure != 10)[0], 0) stellar_form = numpy.delete(stellar_form, numpy.where(structure != 10)[0], 0) structure = numpy.delete(structure, numpy.where(structure != 10)[0], 0) from velociraptor.tools.lines import binned_median_line as bml mass_bins = numpy.logspace(numpy.log10(numpy.min(mass)), numpy.log10(numpy.max(mass)), 20) mass_bins = unyt.unyt_array(mass_bins, units=mass.units) centers, med, err = bml(mass, stellar_form, mass_bins, minimum_in_bin=1) ylabel = get_full_label(stellar_form) xlabel = get_full_label(mass) fig, ax = pyplot.subplots(figsize=(20, 20)) ax.scatter(mass, stellar_form, marker='o', alpha=0.4, s=64, color='blue') ax.plot(centers, med, color='blue', linestyle='--', linewidth=7, label='EAGLE') ax.set_yscale('log') ax.set_xscale('log') ax.set_ylabel(ylabel) ax.set_xlabel(xlabel) obs = numpy.loadtxt('/cosma5/data/durham/dc-murr1/Davies2016.txt', delimiter=',') m_obs = obs[:, 0] sfr_obs = obs[:, 1]
matplotlib.use('Agg') from matplotlib import pyplot import numpy from matplotlib.colors import LogNorm from velociraptor.tools.lines import binned_median_line as bml import unyt pyplot.rcParams.update({'font.size':40}) import dm_spread_distance import simba_dm_spread_distance simba_spread = simba_dm_spread_distance.spread simba_distance = simba_dm_spread_distance.frac_distance simba_xbins = numpy.logspace(numpy.log10(numpy.amin(simba_distance)), numpy.log10(numpy.amax(simba_distance)), num = 50) simba_ybins = numpy.logspace(numpy.log10(numpy.amin(simba_spread)), numpy.log10(numpy.amax(simba_spread)), num = 50) simba_bins = unyt.unyt_array(numpy.logspace(numpy.log10(numpy.amin(simba_distance)), numpy.log10(numpy.amax(simba_distance)), num = 20), units = simba_distance.units) simba_centers, simba_med, simba_err = bml(simba_distance, simba_spread, x_bins = simba_bins) simba_radius = simba_dm_spread_distance.radius eagle_spread = dm_spread_distance.spread eagle_distance = dm_spread_distance.frac_distance eagle_xbins = numpy.logspace(numpy.log10(numpy.amin(eagle_distance)), numpy.log10(numpy.amax(eagle_distance)), num = 50) eagle_ybins = numpy.logspace(numpy.log10(numpy.amin(eagle_spread)), numpy.log10(numpy.amax(eagle_spread)), num = 50) eagle_bins = unyt.unyt_array(numpy.logspace(numpy.log10(numpy.amin(eagle_distance)), numpy.log10(numpy.amax(eagle_distance)), num = 20), units = eagle_distance.units) eagle_centers, eagle_med, eagle_err = bml(eagle_distance, eagle_spread, x_bins = eagle_bins) eagle_radius = dm_spread_distance.radius #remember to mask radius and remove frac spread fig, (ax1, ax2, ax3) = pyplot.subplots(1,3, figsize = (60, 20), sharey = True)
spread = numpy.delete(spread, non_halos) halo_sfr = sfr[dm_halos] halo_sfr = numpy.where(halo_sfr == 0, 1, halo_sfr) fig, ax = pyplot.subplots(figsize=(20, 20)) x_bins = numpy.logspace(numpy.log10(numpy.amin(halo_sfr)), numpy.log10(numpy.amax(halo_sfr)), num=100) bins = numpy.logspace(numpy.log10(numpy.amin(halo_sfr)), numpy.log10(numpy.amax(halo_sfr)), num=20) y_bins = numpy.logspace(numpy.log10(numpy.amin(spread)), numpy.log10(numpy.amax(spread)), num=100) h = ax.hist2d(halo_sfr, spread, bins=[x_bins, y_bins], norm=LogNorm()) pyplot.colorbar(h[3], ax=ax) ax.loglog() ax.set_ylabel("Spread metric [Mpc]") ax.set_xlabel(r"SFR of neighbour's halo $[M_{\odot}/yr]$") ax.tick_params(which='both', direction='in') ax.tick_params(length=10, width=3) bins = unyt.unyt_array(bins, units='Mpc') spread = unyt.unyt_array(spread, units='Mpc') halo_sfr = unyt.unyt_array(halo_sfr, units='Mpc') centers, med, err = bml(halo_sfr, spread, x_bins=bins) ax.plot(centers, med, linestyle='--', linewidth=7, color='red') fig.savefig('/cosma5/data/durham/dc-murr1/gas_spread_sfr_metric.png')
hist.plot_hist( mass, spread, r'Nearest halo mass [$M_{\odot}$]', 'Spread metric / halo radius', '/cosma5/data/durham/dc-murr1/adi_gas_neighbour_spread_mass.png') xbins = numpy.logspace(numpy.log10(numpy.amin(mass)), numpy.log10(numpy.amax(mass)), num=50) ybins = numpy.logspace(numpy.log10(numpy.amin(spread)), numpy.log10(numpy.amax(spread)), num=50) bins = unyt.unyt_array(numpy.logspace(numpy.log10(numpy.amin(mass)), numpy.log10(numpy.amax(mass)), num=20), units=mass.units) centers, med, err = bml(mass, spread, x_bins=bins) halo_centers, halo_med, halo_err = bml(mass, radius, x_bins=bins) simba_centers, simba_med = dm_compare_mass.simba_centers, dm_compare_mass.simba_med eagle_centers, eagle_med = dm_compare_mass.eagle_centers, dm_compare_mass.eagle_med fig, (ax1, ax2) = pyplot.subplots(1, 2, figsize=(40, 20), sharey=True) ax1.tick_params(which='both', direction='in') ax1.tick_params(length=10, width=2) ax2.tick_params(which='both', direction='in') ax2.tick_params(length=10, width=2) h = ax1.hist2d(mass, spread, bins=[xbins, ybins], norm=LogNorm()) pyplot.colorbar(h[3], ax=ax1) ax1.plot(centers, med, linestyle='--',
adi_dens = adi_gas_spread_density.density adi_xbins = numpy.logspace(numpy.log10(numpy.amin(adi_dens)), numpy.log10(numpy.amax(adi_dens)), num=50) adi_ybins = numpy.logspace(numpy.log10(numpy.amin(adi_spread)), numpy.log10(numpy.amax(adi_spread)), num=50) adi_bins = unyt.unyt_array(numpy.logspace(numpy.log10(numpy.amin(adi_dens)), numpy.log10(numpy.amax(adi_dens)), num=20), units=adi_dens.units) adi_x = adi_gas_coordinate_density.x adi_y = adi_gas_coordinate_density.y adic_xbins = numpy.linspace(numpy.amin(adi_x), numpy.amax(adi_x), num=26) adic_ybins = numpy.linspace(numpy.amin(adi_y), numpy.amax(adi_y), num=26) adi_centers, adi_med, adi_err = bml(adi_dens, adi_spread, x_bins=adi_bins) eagle_spread = gas_spread_density.spread eagle_dens = gas_spread_density.density eagle_xbins = numpy.logspace(numpy.log10(numpy.amin(eagle_dens)), numpy.log10(numpy.amax(eagle_dens)), num=50) eagle_ybins = numpy.logspace(numpy.log10(numpy.amin(eagle_spread)), numpy.log10(numpy.amax(eagle_spread)), num=50) eagle_bins = unyt.unyt_array(numpy.logspace( numpy.log10(numpy.amin(eagle_dens)), numpy.log10(numpy.amax(eagle_dens)), num=20), units=eagle_dens.units) eagle_x = gas_coordinate_density.x
from matplotlib.colors import LogNorm from velociraptor.tools.lines import binned_median_line as bml import unyt spread = numpy.loadtxt('/cosma5/data/durham/dc-murr1/gas_spread.txt') mass = numpy.loadtxt('/cosma5/data/durham/dc-murr1/gas_nearest_halo_mass.txt') fig, ax = pyplot.subplots(figsize=(20, 20)) x_bins = numpy.logspace(numpy.log10(numpy.amin(mass)), numpy.log10(numpy.amax(mass)), num=20) y_bins = numpy.logspace(numpy.log10(numpy.amin(spread)), numpy.log10(numpy.amax(spread)), num=20) bins = numpy.logspace(numpy.log10(numpy.amin(mass)), numpy.log10(numpy.amax(mass)), num=20) h = ax.hist2d(mass, spread, bins=[x_bins, y_bins], norm=LogNorm()) pyplot.colorbar(h[3], ax=ax) ax.loglog() ax.set_ylabel('Spread metric [Mpc]') ax.set_xlabel(r'Nearest halo mass [$M_{\odot}$]') ax.tick_params(which='both', direction='in') ax.tick_params(length=10, width=2) bins = unyt.unyt_array(bins, units='msun') spread = unyt.unyt_array(spread, units='Mpc') mass = unyt.unyt_array(mass, units='msun') centers, med, err = bml(mass, spread, x_bins=bins) ax.plot(centers, med, linestyle='--', linewidth=7, color='red') fig.savefig('/cosma5/data/durham/dc-murr1/gas_singular_spread_mass_metric.png')