我们从Python开源项目中,提取了以下4个代码示例,用于说明如何使用astropy.units.Hz()。
def integrated_luminosities(self,out ,all_nus_rest, nuLnus4plotting): """ Calculates the integrated luminosities for all model templates chosen by the user in out['intlum_models'], within the integration ranges given by out['intlum_freqranges']. ##input: - settings dictionary out[] - all_nus_rest - nuLnus4plotting: nu*luminosities for the four models corresponding to each element of the total chain """ SBnuLnu, BBnuLnu, GAnuLnu, TOnuLnu, TOTALnuLnu, BBnuLnu_deredd =nuLnus4plotting out['intlum_freqranges'] = (out['intlum_freqranges']*out['intlum_freqranges_unit']).to(u.Hz, equivalencies=u.spectral()) int_lums = [] for m in range(len(out['intlum_models'])): if out['intlum_models'][m] == 'sb': nuLnu= SBnuLnu elif out['intlum_models'][m] == 'bbb': nuLnu= BBnuLnu elif out['intlum_models'][m] == 'bbbdered': nuLnu=BBnuLnu_deredd elif out['intlum_models'][m] == 'gal': nuLnu=GAnuLnu elif out['intlum_models'][m] == 'tor': nuLnu=TOnuLnu index = ((all_nus_rest >= np.log10(out['intlum_freqranges'][m][1].value)) & (all_nus_rest<= np.log10(out['intlum_freqranges'][m][0].value))) all_nus_rest_int = 10**(all_nus_rest[index]) Lnu = nuLnu[:,index] / all_nus_rest_int Lnu_int = scipy.integrate.trapz(Lnu, x=all_nus_rest_int) int_lums.append(Lnu_int) return np.array(int_lums)
def test_from_fnu(self): fluxd = 6.161081515869728 * u.mJy nu = 2.998e14 / 11.7 * u.Hz aper = 1 * u.arcsec eph = dict(rh=1.5 * u.au, delta=1.0 * u.au) S = 1.711e14 * u.Jy afrho = Afrho.from_fluxd(nu, fluxd, aper, eph, S=S) assert np.isclose(afrho.cm, 1000.0)
def test_from_fnu(self): fluxd = 6.0961896974549115 * u.mJy nu = 2.998e14 / 11.7 * u.Hz aper = 1 * u.arcsec eph = dict(rh=1.5 * u.au, delta=1.0 * u.au) S = 1.711e14 * u.Jy efrho = Efrho.from_fluxd(nu, fluxd, aper, eph) assert np.isclose(efrho.cm, 33.0)
def SED_plotting_settings(x, ydata): """ This function produces the setting for the figures for SED plotting. **Input: - all nus, and data (to make the plot limits depending on the data) """ fig = plt.figure() ax1 = fig.add_subplot(111) ax2 = ax1.twiny() #-- Latex ------------------------------------------------- rc('text', usetex=True) rc('font', family='serif') rc('axes', linewidth=1.5) #------------------------------------------------------------- # ax1.set_title(r"\textbf{SED of Type 2}" + r"\textbf{ AGN }"+ "Source Nr. "+ source + "\n . \n . \n ." , fontsize=17, color='k') ax1.set_xlabel(r'rest-frame $\mathbf{log \ \nu} [\mathtt{Hz}] $', fontsize=13) ax2.set_xlabel(r'$\mathbf{\lambda} [\mathtt{\mu m}] $', fontsize=13) ax1.set_ylabel(r'$\mathbf{\nu L(\nu) [\mathtt{erg \ } \mathtt{ s}^{-1}]}$',fontsize=13) ax1.tick_params(axis='both',reset=False,which='major',length=8,width=1.5) ax1.tick_params(axis='both',reset=False,which='minor',length=4,width=1.5) ax1.set_autoscalex_on(True) ax1.set_autoscaley_on(True) ax1.set_xscale('linear') ax1.set_yscale('log') mediandata = np.median(ydata) ax1.set_ylim(mediandata /50.,mediandata * 50.) ax2.set_xscale('log') ax2.set_yscale('log') ax2.set_ylim( mediandata /50., mediandata * 50.) ax2.get_xaxis().set_major_formatter(ticker.ScalarFormatter()) ax2.tick_params(axis='both',reset=False,which='major',length=8,width=1.5) ax2.tick_params(axis='both',reset=False,which='minor',length=4,width=1.5) x2 = (2.98e14/ x)[::-1] # Wavelenght axis ax2.plot(x2, np.ones(len(x2)), alpha=0) ax2.invert_xaxis() ax2.set_xticks([100., 10.,1., 0.1]) return fig, ax1, ax2