Example of applying extinction corrections based on Balmer decrement

In this example we test out the PG16S metallicity calibrator before and after extinction correction.

[1]:
import numpy as np
from astropy import units as u
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
from edge_pydb import EdgeTable
from edge_pydb.plotting import xy2hist
from edge_pydb.conversion import get_Alambda
np.seterr(invalid='ignore')
plt.rcParams["scatter.edgecolors"] = 'none'
[2]:
fluxtab = EdgeTable('edge_carma.2d_smo7.hdf5', path='flux_elines_sm')
print(fluxtab.colnames)
['Name', 'ix', 'iy', 'ra_abs', 'dec_abs', 'ra_off', 'dec_off', 'rad_arc', 'azi_ang', 'flux_[OII]3727_sm', 'flux_[OIII]5007_sm', 'flux_[OIII]4959_sm', 'flux_Hbeta_sm', 'flux_[OI]6300_sm', 'flux_Halpha_sm', 'flux_[NII]6583_sm', 'flux_[NII]6548_sm', 'flux_[SII]6717_sm', 'flux_[SII]6731_sm', 'vel_[OII]3727_sm', 'vel_[OIII]5007_sm', 'vel_[OIII]4959_sm', 'vel_Hbeta_sm', 'vel_[OI]6300_sm', 'vel_Halpha_sm', 'vel_[NII]6583_sm', 'vel_[NII]6548_sm', 'vel_[SII]6717_sm', 'vel_[SII]6731_sm', 'disp_[OII]3727_sm', 'disp_[OIII]5007_sm', 'disp_[OIII]4959_sm', 'disp_Hbeta_sm', 'disp_[OI]6300_sm', 'disp_Halpha_sm', 'disp_[NII]6583_sm', 'disp_[NII]6548_sm', 'disp_[SII]6717_sm', 'disp_[SII]6731_sm', 'EW_[OII]3727_sm', 'EW_[OIII]5007_sm', 'EW_[OIII]4959_sm', 'EW_Hbeta_sm', 'EW_[OI]6300_sm', 'EW_Halpha_sm', 'EW_[NII]6583_sm', 'EW_[NII]6548_sm', 'EW_[SII]6717_sm', 'EW_[SII]6731_sm', 'e_flux_[OII]3727_sm', 'e_flux_[OIII]5007_sm', 'e_flux_[OIII]4959_sm', 'e_flux_Hbeta_sm', 'e_flux_[OI]6300_sm', 'e_flux_Halpha_sm', 'e_flux_[NII]6583_sm', 'e_flux_[NII]6548_sm', 'e_flux_[SII]6717_sm', 'e_flux_[SII]6731_sm', 'e_vel_[OII]3727_sm', 'e_vel_[OIII]5007_sm', 'e_vel_[OIII]4959_sm', 'e_vel_Hbeta_sm', 'e_vel_[OI]6300_sm', 'e_vel_Halpha_sm', 'e_vel_[NII]6583_sm', 'e_vel_[NII]6548_sm', 'e_vel_[SII]6717_sm', 'e_vel_[SII]6731_sm', 'e_disp_[OII]3727_sm', 'e_disp_[OIII]5007_sm', 'e_disp_[OIII]4959_sm', 'e_disp_Hbeta_sm', 'e_disp_[OI]6300_sm', 'e_disp_Halpha_sm', 'e_disp_[NII]6583_sm', 'e_disp_[NII]6548_sm', 'e_disp_[SII]6717_sm', 'e_disp_[SII]6731_sm', 'e_EW_[OII]3727_sm', 'e_EW_[OIII]5007_sm', 'e_EW_[OIII]4959_sm', 'e_EW_Hbeta_sm', 'e_EW_[OI]6300_sm', 'e_EW_Halpha_sm', 'e_EW_[NII]6583_sm', 'e_EW_[NII]6548_sm', 'e_EW_[SII]6717_sm', 'e_EW_[SII]6731_sm', 'flux_Hbeta_sm3_sm', 'flux_Halpha_sm3_sm', 'flux_sigsfr0_sm', 'e_flux_sigsfr0_sm', 'flux_sigsfr_corr_sm', 'e_flux_sigsfr_corr_sm', 'flux_AHa_corr_sm', 'e_flux_AHa_corr_sm', 'flux_AHa_smooth3_sm', 'flux_sigsfr_adopt_sm', 'BPT_sm', 'p_BPT_sm', 'SF_BPT_sm', 'ZOH_sm', 'e_ZOH_sm', 'ZOH_N2_sm', 'e_ZOH_N2_sm', 'ZOH_PP04_sm', 'alphsca_SL24_sm', 'alphsca_B13_sm']

Load data from the HDF5 files

[3]:
fluxcols = ['Name','ix','iy',
            'flux_Halpha_sm','e_flux_Halpha_sm',
            'flux_Hbeta_sm','e_flux_Hbeta_sm',
            'flux_[OII]3727_sm',
            'flux_[OIII]5007_sm',
            'flux_[OIII]4959_sm',
            'flux_[NII]6583_sm',
            'flux_[NII]6548_sm',
            'flux_[SII]6717_sm',
            'flux_[SII]6731_sm',
            'flux_AHa_corr_sm','ZOH_sm','ZOH_PP04_sm']
sspcols = ['Name','ix','iy','sigstar_sm']

fluxtab = EdgeTable('edge_carma.2d_smo7.hdf5', path='flux_elines_sm', cols=fluxcols)
ssptab  = EdgeTable('edge_carma.2d_smo7.hdf5', path='SSP_sm', cols=sspcols)
print('Working on full EDGE database')
Working on full EDGE database

Build the table

[4]:
fluxtab.join(ssptab, keys=['Name', 'ix', 'iy'])
goodval = ((fluxtab['sigstar_sm']>0) & (fluxtab['ZOH_sm']>0) & (fluxtab['ZOH_PP04_sm']>0))
fluxtab = fluxtab[goodval]
print(fluxtab.colnames)
['Name', 'ix', 'iy', 'flux_[OII]3727_sm', 'flux_[OIII]5007_sm', 'flux_[OIII]4959_sm', 'flux_Hbeta_sm', 'flux_Halpha_sm', 'flux_[NII]6583_sm', 'flux_[NII]6548_sm', 'flux_[SII]6717_sm', 'flux_[SII]6731_sm', 'e_flux_Hbeta_sm', 'e_flux_Halpha_sm', 'flux_AHa_corr_sm', 'ZOH_sm', 'ZOH_PP04_sm', 'sigstar_sm']
[5]:
fluxtab
[5]:
EdgeTable length=18718
Nameixiyflux_[OII]3727_smflux_[OIII]5007_smflux_[OIII]4959_smflux_Hbeta_smflux_Halpha_smflux_[NII]6583_smflux_[NII]6548_smflux_[SII]6717_smflux_[SII]6731_sme_flux_Hbeta_sme_flux_Halpha_smflux_AHa_corr_smZOH_smZOH_PP04_smsigstar_sm
1e-16 erg / (s cm2)1e-16 erg / (s cm2)1e-16 erg / (s cm2)1e-16 erg / (s cm2)1e-16 erg / (s cm2)1e-16 erg / (s cm2)1e-16 erg / (s cm2)1e-16 erg / (s cm2)1e-16 erg / (s cm2)1e-16 erg / (s cm2)1e-16 erg / (s cm2)magdexdexsolMass / pc2
bytes13int32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32
IC048049730.08700740.0298972820.009887010.0900977250.11023510.0390260780.032472960.0525715280.078005240.041357290.021687174-2.15963588.5390178.73899712.573614
IC048052370.187704620.00066168410.0204743170.0777976960.133549380.04970629-0.0033357728-0.0084015350.00813964850.0502403150.015807211-1.29832868.8841929.25514826.140268
IC048052400.0325232260.0152972970.0197321460.0951750650.246239170.080737710.00216183280.060134620.030422230.0381090750.015223875-0.25494488.599268.82908124.226116
IC048052430.204270440.0355522630.0217483960.064398840.31444150.0912670640.0143827040.101084220.0556924980.0531091880.0159928311.3604368.4732488.64065131.621964
IC048052460.402253030.045894720.0147817270.0421403940.296287240.065914170.0175255180.105027460.090012390.0268251990.017952412.28782468.3853848.50926554.41814
IC048052490.51098070.04305821-0.0167514530.087137810.312980560.0500596130.032231560.102461240.1079327760.0477188270.0212155930.57946778.4281658.57323827.101135
IC048052520.72825680.046769876-0.0256937390.117163380.325956280.061372930.025978160.10931840.104464210.036867250.021137634-0.070269438.463168.62556623.207003
IC048052550.90469240.07557559-0.0351647470.103798390.329000620.0854299960.034184050.11761540.097204250.05441340.0261752550.261433758.4371768.58671121.871445
IC048052580.49874650.0561907-0.0064404330.094289960.308323740.113875920.0397785750.134909170.114397810.0425904170.0213404110.340703678.4885368.66351231.224186
......................................................
UGC1071082760.160226210.0459342640.0121531650.049920860.208473970.0452801850.0504862850.058968680.0295086690.013490690.0129284460.96282748.3988238.52936136.96709
UGC1071082790.226282860.0942674350.0234975740.078278780.433493080.1128734050.063725190.109704370.065366640.0164407320.015587381.68064678.3906678.51716577.58735
UGC1071082820.242557910.100423750.0383164060.1054625660.5432260.158567620.0607851860.136262580.084803740.0124123860.0137372231.49642578.423118.56567994.70222
UGC1071082850.26843620.0982710050.041239510.149116710.62308870.202789550.0561962350.159601330.0934499060.0143248370.0162157290.964313868.467438.631951116.5556
UGC1071082880.327518760.14499570.052877680.19945950.93717450.30110650.0776748960.216597510.170354890.0181795360.0166269171.26265578.4571158.616528124.4806
UGC1071082910.435885640.18300260.0506041940.228819011.14910030.35891860.085123570.259326520.208146630.01379460750.0166882441.43190858.4456188.599336115.169174
UGC1071082940.357437940.128793730.0299772860.198547470.79015390.249863270.067766540.194565950.142329080.0174704530.0177916920.84029578.4662248.63014749.670353
UGC1071085880.123351520.0540746150.00719144150.0619361550.346655040.112504670.0282052570.095895710.060512580.0184784050.0090633061.70767538.4410288.59247266.131744
UGC1071085910.131773310.077185270.0115390730.0759962350.426567170.13864360.031338060.1080542360.090565720.0136166930.0108435481.71494958.4271078.57165467.18998

Compare metallicity estimates without extinction

[6]:
N2F  = fluxtab['flux_[NII]6583_sm']
N2Fb = fluxtab['flux_[NII]6548_sm']
S2F  = fluxtab['flux_[SII]6717_sm']
S2Fb = fluxtab['flux_[SII]6731_sm']
O2F  = fluxtab['flux_[OII]3727_sm']
O3F  = fluxtab['flux_[OIII]5007_sm']
O3Fb = fluxtab['flux_[OIII]4959_sm']
HaF  = fluxtab['flux_Halpha_sm']
HbF  = fluxtab['flux_Hbeta_sm']

R2 = np.log10(O2F)      - np.log10(HbF)
N2 = np.log10(N2Fb+N2F) - np.log10(HbF)
S2 = np.log10(S2F+S2Fb) - np.log10(HbF)
R3 = np.log10(O3Fb+O3F) - np.log10(HbF)
O3N2 = np.log10(O3F) - np.log10(HbF) - (np.log10(N2F) - np.log10(HaF))
snrcut = 3
Hbg = (abs(fluxtab['e_flux_Hbeta_sm']/fluxtab['flux_Hbeta_sm']) < 1/snrcut)
cond = Hbg & (HaF>0) & (HbF>0) & (N2F>0) & (N2Fb>0) & (S2F>0) & (S2Fb>0) & (O2F>0) & (O3F>0) & (O3Fb>0)
[7]:
# Equation (2) of 2013A&A...559A.114M
ZOH_M13 = 8.533 - 0.214 * O3N2[cond]
# Equation (3) of 2004MNRAS.348L..59P
ZOH_PP04 = 8.73 - 0.32 * O3N2[cond]
# Equation (9) of 2016MNRAS.457.3678P
ZOH_PG16S = 8.445 + 0.699*N2[cond] + S2[cond]*(0.217*N2[cond] - 0.253)
# Stellar surface density
sigstar = np.log10(fluxtab['sigstar_sm'][cond])

x_det, y_det, z_det, *hist = xy2hist(sigstar, ZOH_M13, log=False)
x_pp, y_pp, z_pp, *hist_pp = xy2hist(sigstar, ZOH_PP04, log=False)
x_pg, y_pg, z_pg, *hist_pg = xy2hist(sigstar, ZOH_PG16S, log=False)

fig, (ax1, ax2, ax3) = plt.subplots(ncols=3, figsize=(15,6))
sc1 = ax1.scatter(x_det, y_det, c=z_det, s=20, cmap='jet')
cb1 = plt.colorbar(sc1)
sc2 = ax2.scatter(x_pp, y_pp, c=z_pp, s=20, cmap='jet')
cb2 = plt.colorbar(sc2)
sc3 = ax3.scatter(x_pg, y_pg, c=z_pg, s=20, cmap='jet')
cb3 = plt.colorbar(sc3)
ax1.set_title('O3N2, Marino+13')
ax2.set_title('O3N2, PP04')
ax3.set_title('PG16S')
plt.subplots_adjust(wspace=0.15)

for ax in [ax1, ax2, ax3]:
    ax.axhline(8.69, ls=':', color='k', label='solar')
    if ax == ax1:
        # From MaNGA paper, doi:10.1093/mnras/stw1984
        xmod = np.linspace(1,3,num=50)
        ymod = 8.55 + 0.014*(xmod-3.14)*np.exp(-(xmod-3.14))
        ax.plot(xmod,ymod,color='magenta',ls='--',lw=4,label='JKBB+16')
        ax.set_ylabel('12 + log(O/H)',fontsize=14,labelpad=8)
    ax.legend(loc='upper left',fontsize=12)
    ax.set_xlabel('log $\Sigma_*$ ['+str(fluxtab['sigstar_sm'].unit)+']',fontsize=14)
    ax.set_ylim([8.0, 9.5])
_images/Alambda_demo_10_0.png

Compare metallicity estimates with extinction

[8]:
fluxcols=['flux_Hbeta_sm','flux_Halpha_sm','flux_[OII]3727_sm','flux_[NII]6548_sm','flux_[NII]6583_sm',
          'flux_[SII]6717_sm','flux_[SII]6731_sm','flux_[OIII]4959_sm','flux_[OIII]5007_sm']
[9]:
get_Alambda(fluxtab, fluxcols, fluxtab['flux_AHa_corr_sm'])
fluxtab
[9]:
EdgeTable length=18718
Nameixiyflux_[OII]3727_smflux_[OII]3727_avcor_smflux_[OIII]5007_smflux_[OIII]5007_avcor_smflux_[OIII]4959_smflux_[OIII]4959_avcor_smflux_Hbeta_smflux_Hbeta_avcor_smflux_Halpha_smflux_Halpha_avcor_smflux_[NII]6583_smflux_[NII]6583_avcor_smflux_[NII]6548_smflux_[NII]6548_avcor_smflux_[SII]6717_smflux_[SII]6717_avcor_smflux_[SII]6731_smflux_[SII]6731_avcor_sme_flux_Hbeta_sme_flux_Halpha_smflux_AHa_corr_smZOH_smZOH_PP04_smsigstar_sm
1e-16 erg / (s cm2)1e-16 erg / (s cm2)1e-16 erg / (s cm2)1e-16 erg / (s cm2)1e-16 erg / (s cm2)1e-16 erg / (s cm2)1e-16 erg / (s cm2)1e-16 erg / (s cm2)1e-16 erg / (s cm2)1e-16 erg / (s cm2)1e-16 erg / (s cm2)1e-16 erg / (s cm2)1e-16 erg / (s cm2)1e-16 erg / (s cm2)1e-16 erg / (s cm2)1e-16 erg / (s cm2)1e-16 erg / (s cm2)1e-16 erg / (s cm2)1e-16 erg / (s cm2)1e-16 erg / (s cm2)magdexdexsolMass / pc2
bytes13int32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32
IC048049730.08700740.08700740.0298972820.0298972820.009887010.009887010.0900977250.0900977250.11023510.11023510.0390260780.0390260780.032472960.032472960.0525715280.0525715280.078005240.078005240.041357290.0216871740.08.5390178.73899712.573614
IC048052370.187704620.187704620.00066168410.00066168410.0204743170.0204743170.0777976960.0777976960.133549380.133549380.049706290.04970629-0.0033357728-0.0033357728-0.008401535-0.0084015350.00813964850.00813964850.0502403150.0158072110.08.8841929.25514826.140268
IC048052400.0325232260.0325232260.0152972970.0152972970.0197321460.0197321460.0951750650.0951750650.246239170.246239170.080737710.080737710.00216183280.00216183280.060134620.060134620.030422230.030422230.0381090750.0152238750.08.599268.82908124.226116
IC048052430.204270442.1600070.0355522630.197845890.0217483960.12366230.064398840.383394540.31444151.10081480.0912670640.318006220.0143827040.0505306530.101084220.341232840.0556924980.187381250.0531091880.0159928311.3604368.4732488.64065131.621964
IC048052460.4022530321.2307130.045894720.82298360.0147817270.274838750.0421403940.84647480.296287242.43692870.065914170.537844060.0175255180.145007540.105027460.812550660.090012390.692518830.0268251990.017952412.28782468.3853848.50926554.41814
IC048052490.51098071.39532760.043058210.08944974-0.016751453-0.0351203120.087137810.18630020.312980560.533708930.0500596130.085192260.032231560.055045830.102461240.172033830.1079327760.18096520.0477188270.0212155930.57946778.4281658.57323827.101135
IC048052520.72825680.72825680.0467698760.046769876-0.025693739-0.0256937390.117163380.117163380.325956280.325956280.061372930.061372930.025978160.025978160.10931840.10931840.104464210.104464210.036867250.0211376340.08.463168.62556623.207003
IC048052550.90469241.42341030.075575590.10510802-0.035164747-0.0491087250.103798390.146243680.329000620.418572040.0854299960.108589890.034184050.0435204060.11761540.14859360.097204250.122728330.05441340.0261752550.261433758.4371768.58671121.871445
IC048052580.49874650.900305750.05619070.08636848-0.006440433-0.00995285250.094289960.147399530.308323740.421976660.113875920.155667980.0397785750.0544899440.134909170.182963450.114397810.155017380.0425904170.0213404110.340703678.4885368.66351231.224186
.................................................................................
UGC1071082760.160226210.85041390.0459342640.15478340.0121531650.0415809640.049920860.176446080.208473970.50603760.0452801850.109543420.0504862850.122855420.058968680.139497150.0295086690.069642720.013490690.0129284460.96282748.3988238.52936136.96709
UGC1071082790.226282864.1685280.0942674350.785747650.0234975740.201138660.078278780.70920510.433493082.0381720.1128734050.52761150.063725190.300934670.109704370.49312290.065366640.292624650.0164407320.015587381.68064678.3906678.51716577.58735
UGC1071082820.242557913.24675540.100423750.66345690.0383164060.259206560.1054625660.750433740.5432262.1555140.158567620.62593140.0607851860.242137430.136262580.51946930.084803740.322119150.0124123860.0137372231.49642578.423118.56567994.70222
UGC1071082850.26843621.42842350.0982710050.331762640.041239510.141365480.149116710.52808380.62308871.51452160.202789550.49126520.0561962350.136938120.159601330.37805740.0934499060.220841530.0143248370.0162157290.964313868.467438.631951116.5556
UGC1071082880.327518762.92326830.14499570.713239850.052877680.265357350.19945951.04456820.93717452.9983530.30110650.959129150.0776748960.249328690.216597510.669953940.170354890.525304850.0181795360.0166269171.26265578.4571158.616528124.4806
UGC1071082910.435885645.21714260.18300261.11450210.0506041940.315247540.228819011.49611021.14910034.29656460.35891861.33536080.085123570.319472970.259326520.933196250.208146630.74641750.01379460750.0166882441.43190858.4456188.599336115.169174
UGC1071082940.357437941.53407060.128793730.371826440.0299772860.087702750.198547470.59760260.79015391.71328650.249863270.54019760.067766540.147260.194565950.412497880.142329080.301134350.0174704530.0177916920.84029578.4662248.63014749.670353
UGC1071085880.123351522.38135930.0540746150.466364260.00719144150.0637213140.0619361550.58138640.346655041.67096610.112504670.53909320.0282052570.136563050.095895710.441598740.060512580.2775040.0184784050.0090633061.70767538.4410288.59247266.131744
UGC1071085910.131773312.57622890.077185270.67181890.0115390730.1031990350.0759962350.720203640.426567172.06998520.13864360.668793140.031338060.15275420.1080542360.5008360.090565720.41802750.0136166930.0108435481.71494958.4271078.57165467.18998
[10]:
N2F  = fluxtab['flux_[NII]6583_avcor_sm']
N2Fb = fluxtab['flux_[NII]6548_avcor_sm']
S2F  = fluxtab['flux_[SII]6717_avcor_sm']
S2Fb = fluxtab['flux_[SII]6731_avcor_sm']
O2F  = fluxtab['flux_[OII]3727_avcor_sm']
O3F  = fluxtab['flux_[OIII]5007_avcor_sm']
O3Fb = fluxtab['flux_[OIII]4959_avcor_sm']
HaF  = fluxtab['flux_Halpha_avcor_sm']
HbF  = fluxtab['flux_Hbeta_avcor_sm']

R2 = np.log10(O2F)      - np.log10(HbF)
N2 = np.log10(N2Fb+N2F) - np.log10(HbF)
S2 = np.log10(S2F+S2Fb) - np.log10(HbF)
R3 = np.log10(O3Fb+O3F) - np.log10(HbF)
O3N2 = np.log10(O3F) - np.log10(HbF) - (np.log10(N2F) - np.log10(HaF))
snrcut = 3
Hbg = (abs(fluxtab['e_flux_Hbeta_sm']/fluxtab['flux_Hbeta_sm']) < 1/snrcut)
cond = Hbg & (HaF>0) & (HbF>0) & (N2F>0) & (N2Fb>0) & (S2F>0) & (S2Fb>0) & (O2F>0) & (O3F>0) & (O3Fb>0)
[11]:
# Equation (2) of 2013A&A...559A.114M
ZOH_M13 = 8.533 - 0.214 * O3N2[cond]
# Equation (3) of 2004MNRAS.348L..59P
ZOH_PP04 = 8.73 - 0.32 * O3N2[cond]
# Equation (9) of 2016MNRAS.457.3678P
ZOH_PG16S = 8.445 + 0.699*N2[cond] + S2[cond]*(0.217*N2[cond] - 0.253)
# Stellar surface density
sigstar = np.log10(fluxtab['sigstar_sm'][cond])

x_det, y_det, z_det, *hist = xy2hist(sigstar, ZOH_M13, log=False)
x_pp, y_pp, z_pp, *hist_pp = xy2hist(sigstar, ZOH_PP04, log=False)
x_pg, y_pg, z_pg, *hist_pg = xy2hist(sigstar, ZOH_PG16S, log=False)

fig, (ax1, ax2, ax3) = plt.subplots(ncols=3, figsize=(15,6))
sc1 = ax1.scatter(x_det, y_det, c=z_det, s=20, cmap='jet')
cb1 = plt.colorbar(sc1)
sc2 = ax2.scatter(x_pp, y_pp, c=z_pp, s=20, cmap='jet')
cb2 = plt.colorbar(sc2)
sc3 = ax3.scatter(x_pg, y_pg, c=z_pg, s=20, cmap='jet')
cb3 = plt.colorbar(sc3)
ax1.set_title('O3N2, Marino+13')
ax2.set_title('O3N2, PP04')
ax3.set_title('PG16S')
plt.subplots_adjust(wspace=0.15)

for ax in [ax1, ax2, ax3]:
    ax.axhline(8.69, ls=':', color='k', label='solar')
    ax.axhline(8.5, ls='--', color='k', label='$R_G$=8 kpc')
    if ax == ax1:
        # From MaNGA paper, doi:10.1093/mnras/stw1984
        xmod = np.linspace(1,3,num=50)
        ymod = 8.55 + 0.014*(xmod-3.14)*np.exp(-(xmod-3.14))
        ax.plot(xmod,ymod,color='magenta',ls='--',lw=4,label='JKBB+16')
        ax.set_ylabel('12 + log(O/H)',fontsize=14,labelpad=8)
    ax.legend(loc='upper left',fontsize=12)
    ax.set_xlabel('log $\Sigma_*$ ['+str(fluxtab['sigstar_sm'].unit)+']',fontsize=14)
    ax.set_ylim([8.0, 9.5])
_images/Alambda_demo_15_0.png

Histograms of strong-line ratios in Pilyugin & Grebel 2016

[12]:
fig = plt.figure(tight_layout=True)
gs = gridspec.GridSpec(2, 2)
ax00 = fig.add_subplot(gs[0, 0])
ax00.hist(R2[cond], bins='scott')
ax00.set_xlabel(r'log([O II]/H$\beta$)', size='x-large')
ax01 = fig.add_subplot(gs[0, 1])
ax01.hist(N2[cond], bins='scott')
ax01.set_xlabel(r'log([N II]/H$\beta$)', size='x-large')
ax10 = fig.add_subplot(gs[1, 0])
ax10.hist(S2[cond], bins='scott')
ax10.set_xlabel(r'log([S II]/H$\beta$)', size='x-large')
ax11 = fig.add_subplot(gs[1, 1])
ax11.hist(R3[cond], bins='scott')
ax11.set_xlabel(r'log([O III]/H$\beta$)', size='x-large')
[12]:
Text(0.5, 0, 'log([O III]/H$\\beta$)')
_images/Alambda_demo_17_1.png

Histograms of O3N2 and Metallicity

[13]:
fig = plt.figure(tight_layout=True)
gs = gridspec.GridSpec(2, 2)
ax = fig.add_subplot(gs[:, 0])
ax.hist(O3N2, bins='scott')
ax.set_xlabel(r'log[([O III]/H$\beta$)/([NII]/H$\alpha$)]', size='x-large')
ax1 = fig.add_subplot(gs[0, 1])
ax1.hist(ZOH_M13, bins='scott')
ax1.set_xlabel('12 + log(O/H)', size='x-large')
ax1.set_xlim([8,9.5])
ax1.text(0.95,0.85, 'Marino+13', ha='right', transform=ax1.transAxes)
ax1.axvline(8.55, ls=':', color='k')
ax2 = fig.add_subplot(gs[1, 1])
ax2.hist(ZOH_PG16S, bins='scott')
ax2.set_xlabel('12 + log(O/H)', size='x-large')
ax2.set_xlim([8,9.5])
ax2.text(0.95,0.85, 'PG16S', ha='right', transform=ax2.transAxes)
ax2.axvline(8.55, ls=':', color='k')
[13]:
<matplotlib.lines.Line2D at 0x17b728e20>
_images/Alambda_demo_19_1.png
[ ]: