# title   = r'Argon ionic abundance versus $S^{+2}$ temperature in Cloudy models'
# print len(Temps), len(logArII_ArIII)
# dz.data_plot(nominal_values(Temps), nominal_values(logArII_ArIII),  color=dz.ColorVector[1], label='Observations', markerstyle='o', x_error=std_devs(Temps), y_error=std_devs(logArII_ArIII))
# dz.FigWording(xtitle, ytitle, title, axis_Size = 20.0, title_Size = 20.0, legend_size=20.0, legend_loc='upper right')
# 'ArIons_vs_TSIII_Obs'
#  
# #Display figure
# dz.display_fig()
# # dz.savefig(output_address = '/home/vital/Dropbox/Astrophysics/Papers/Elemental_RegressionsSulfur/Cloudy_Models/ArIons_vs_TSIII_Ionization_Obs')
#     
# print 'Data treated'

#----------------------Plotting abundances
#Perform linear regression
zero_vector  = zeros(len(list_xvalues_clean_greater))
m ,n, m_err, n_err, covab = bces(list_xvalues_clean_greater, zero_vector, list_yvalues_clean_greater, zero_vector, zero_vector)
 
x_regresion         = linspace(0, max(list_xvalues_clean_greater), 50)
y_regression        = m[0] * x_regresion + n[0]
   
LinearRegression_Label = r'Linear fitting'.format(n = round(n[0],2) ,nerr = round(n_err[0],2))
dz.data_plot(x_regresion, y_regression, label=LinearRegression_Label, linestyle='--', color=dz.ColorVector[1])
       
logSII_SIII_theo            = m[0] * logArII_ArIII + n[0]
   
dz.data_plot(nominal_values(logArII_ArIII), nominal_values(logSII_SIII_theo),  color=dz.ColorVector[1], label='Observations', markerstyle='o', x_error=std_devs(logArII_ArIII), y_error=std_devs(logSII_SIII_theo))
          
# #Plot fitting formula
formula = r"$log\left(Ar^{{+2}}/Ar^{{+3}}\right) = {m} \cdot log\left(S^{{+2}}/S^{{+3}}\right) + {n}$".format(m='m', n='n')
formula2 = r"$m = {m} \pm {merror}; n = {n} \pm {nerror}$".format(m=round(m[0],3), merror=round(m_err[0],3), n=round(n[0],3), nerror=round(n_err[0],3))
dz.Axis.text(0.50, 0.15, formula, transform=dz.Axis.transAxes, fontsize=20) 
# #----------------------Plotting temperatures
# #Plot wording
# xtitle  = r'$log(S^{+2}/S^{+3})$'
# ytitle  = r'$T[SIII] (K)$'
# title   = 'Temperature - Sulfur ionic abundance relation in Cloudy photoionization models'
# dz.FigWording(xtitle, ytitle, title, axis_Size = 20.0, title_Size = 20.0, legend_size=20.0, legend_loc='upper right')
#   
# #Display figure
# dz.display_fig()
#   
# print 'Data treated'

#----------------------Plotting abundances
#Perform linear regression
zero_vector  = zeros(len(list_xvalues_clean_greater))
m ,n, m_err, n_err, covab = bces(list_xvalues_clean_greater, zero_vector, list_yvalues_clean_greater, zero_vector, zero_vector)
#     
x_regresion         = linspace(0, max(list_xvalues_clean_greater), 50)
y_regression        = m[0] * x_regresion + n[0]
 
LinearRegression_Label = r'Linear Regression: $n = {n} \pm {nerr}$'.format(n = round(n[0],2) ,nerr = round(n_err[0],2))
dz.data_plot(x_regresion, y_regression, label=LinearRegression_Label, linestyle='--', color=dz.ColorVector[1])
    
#----Observations data
FilesList                   = pv.Folder_Explorer(Pattern, Catalogue_Dic['Obj_Folder'], CheckComputer=False)

Abundances_Matrix           = import_data_from_objLog_triple(FilesList, pv)

Objects                     = Abundances_Matrix[:,0]
ArIII_HII_array             = Abundances_Matrix[:,1]
ArIV_HII_array              = Abundances_Matrix[:,2]
Пример #3
0
    Obj_vector, Elem, Y         = list(values[0]), values[1], values[2]
    
    Method_index = 0
    
    if len(Obj_vector) > 2:
        
        x_regresion_range   = linspace(0.0, max(nominal_values(Elem))*1.10, 20)
        
        #Plotting the data
        pv.DataPloter_One(nominal_values(Elem), nominal_values(Y),  Titles_wording[Keys][0],  pv.Color_Vector[2][colors_dict[Keys]],  LineStyle=None,  XError=std_devs(Elem), YError=std_devs(Y))
        pv.TextPlotter(nominal_values(Elem),    nominal_values(Y),  Obj_vector,  x_pad = 0.95, y_pad = 1)
        pv.DataPloter_One(Y_WMAP_coord[0].nominal_value, Y_WMAP_coord[1].nominal_value, 'WMAP prediction', pv.Color_Vector[2][0], LineStyle=None)
  
        #Regression: 
        cov_matrix                              = zeros(len(Obj_vector))
        m_bces ,n_bces, m_err, n_err, covab     = bces(nominal_values(Elem), std_devs(Elem), nominal_values(Y), std_devs(Y), cov_matrix)
        
#         if Keys == 'S_ArCorr_Regression_Inference':
#             print '\nThe key is\n', Keys
#             print m_bces[Method_index] ,n_bces[Method_index], m_err[Method_index], n_err[Method_index]
        
        y_trend = m_bces[Method_index] * x_regresion_range + n_bces[Method_index]
        pv.DataPloter_One(x_regresion_range, y_trend, 'Nemmer regression ' + str(0), pv.Color_Vector[2][colors_dict[Keys]], LineStyle=':')

        #Plot labels
        pv.Labels_Legends_One(Plot_Title =  Titles_wording[Keys][1],  Plot_xlabel = Titles_wording[Keys][3], Plot_ylabel = Titles_wording[Keys][2], LegendLocation=4)         
        pv.Axis1.set_xlim(0, max(nominal_values(Elem))*1.10)
          
        #Save the figure
        SavingName = pv.ScriptCode + '_' + Titles_wording[Keys][4]
        pv.SaveManager(SavingName = SavingName, SavingFolder = Catalogue_Dic['Data_Folder'], ForceSave=True, savevectorfile=False)   #Save PlotVector