Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
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')
Ejemplo n.º 4
0
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,
Ejemplo n.º 5
0
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')
Ejemplo n.º 6
0
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,
Ejemplo n.º 8
0
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.')
Ejemplo n.º 9
0
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]
Ejemplo n.º 10
0
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='--',
Ejemplo n.º 13
0
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
Ejemplo n.º 14
0
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')