예제 #1
0
파일: xml.py 프로젝트: ndavila/wnutils
def plot_mass_fraction_vs_property_in_files(files,
                                            prop,
                                            species,
                                            legend_labels=None,
                                            **keyword_parameters):

    plp.set_plot_params(plt, keyword_parameters)

    if legend_labels:
        if (len(legend_labels) != len(files)):
            print("Invalid legend labels for input files.")
            return

    fig = plt.figure()

    for i in range(len(files)):
        x = (wx.get_properties_in_zones_as_floats(files[i], [prop]))[prop]
        if ('xfactor' in keyword_parameters):
            x /= float(keyword_parameters['xfactor'])
        y = wx.get_mass_fractions_in_zones(files[i], [species])[species]
        if legend_labels:
            ll, = plt.plot(x, y, label=legend_labels[i])
        else:
            ll, = plt.plot(x, y)

    plp.apply_class_methods(plt, keyword_parameters)

    if ('use_latex_names' in keyword_parameters):
        if (keyword_parameters['use_latex_names'] == 'yes'):
            plt.ylabel('X(' + wu.get_latex_names([species])[species] + ')')

    if legend_labels:
        plt.legend()

    plt.show()
예제 #2
0
파일: xml.py 프로젝트: ndavila/wnutils
def plot_property(file, prop, **keyword_parameters):

    plp.set_plot_params(mpl, keyword_parameters)

    x = (wx.get_properties_in_zones_as_floats(file, [prop]))[prop]
    if ('xfactor' in keyword_parameters):
        x /= float(keyword_parameters['xfactor'])

    plp.apply_class_methods(plt, keyword_parameters)

    plt.plot(x)
    plt.show()
예제 #3
0
파일: h5.py 프로젝트: ndavila/wnutils
def plot_group_mass_fractions_vs_property(file, group, prop, species,
                                          **keyword_parameters):

    plp.set_plot_params(mpl, keyword_parameters)

    fig = plt.figure()

    y = []
    l = []
    latex_names = []

    x = w5.get_group_properties_in_zones(file, group, [prop])
    m = w5.get_group_mass_fractions(file, group)

    nuclide_data = w5.get_nuclide_data_hash(file)

    if ('xfactor' in keyword_parameters):
        x /= keyword_parameters['xfactor']

    if ('use_latex_names' in keyword_parameters):
        if (keyword_parameters['use_latex_names'] == 'yes'):
            laxtex_names = wu.get_latex_names(species)

    iy = 0
    for sp in species:
        y = np.array(map(float, m[:, nuclide_data[sp]['index']]))
        if (len(latex_names) != 0):
            lab = latex_names[sp]
        else:
            lab = sp
        l.append(plt.plot(x, y, label=lab))

    if (len(species) != 1):
        plt.legend(loc='upper right', prop={'size': 14})

    if ('ylabel' not in keyword_parameters):
        if (len(species) != 1):
            plt.ylabel('Mass Fraction')
        else:
            if (len(latex_names) == 0):
                plt.ylabel('X(' + species[0] + ')')
            else:
                plt.ylabel('X(' + latex_names[species[0]] + ')')

    if ('xlabel' not in keyword_parameters):
        plt.xlabel(prop)

    plp.apply_class_methods(plt, keyword_parameters)

    plt.show()
예제 #4
0
파일: h5.py 프로젝트: ndavila/wnutils
def plot_zone_mass_fractions_vs_property(file, zone, prop, species,
                                         **keyword_parameters):

    plp.set_plot_params(mpl, keyword_parameters)

    fig = plt.figure()

    x = []
    y = []
    l = []
    latex_names = []

    x = w5.get_zone_properties_in_groups_as_floats(file, zone, [prop])
    m = w5.get_zone_mass_fractions_in_groups(file, zone, species)

    if ('xfactor' in keyword_parameters):
        x /= keyword_parameters['xfactor']

    if ('use_latex_names' in keyword_parameters):
        if (keyword_parameters['use_latex_names'] == 'yes'):
            latex_names = wu.get_latex_names(species)

    for i in range(len(species)):
        y = np.array(list(map(float, m[species[i]])))
        if (len(latex_names) != 0):
            lab = latex_names[species[i]]
        else:
            lab = species[i]
        l.append(plt.plot(x, y, label=lab))

    if (len(species) != 1):
        plt.legend(loc='upper left', prop={'size': 14})

    if ('ylabel' not in keyword_parameters):
        if (len(species) != 1):
            plt.ylabel('Mass Fraction')
        else:
            if (len(latex_names) == 0):
                plt.ylabel('X(' + species[0] + ')')
            else:
                plt.ylabel('X(' + latex_names[species[0]] + ')')

    if ('xlabel' not in keyword_parameters):
        plt.xlabel(prop)

    plp.apply_class_methods(plt, keyword_parameters)

    plt.show()
예제 #5
0
파일: xml.py 프로젝트: ndavila/wnutils
def plot_mass_fractions_vs_property(file, prop, species, **keyword_parameters):

    plp.set_plot_params(mpl, keyword_parameters)

    fig = plt.figure()

    y = []
    l = []
    latex_names = []

    x = (wx.get_properties_in_zones_as_floats(file, [prop]))[prop]
    if ('xfactor' in keyword_parameters):
        x /= float(keyword_parameters['xfactor'])

    y = wx.get_mass_fractions_in_zones(file, species)

    if ('use_latex_names' in keyword_parameters):
        if (keyword_parameters['use_latex_names'] == 'yes'):
            latex_names = wu.get_latex_names(species)

    for i in range(len(species)):
        if (len(latex_names) != 0):
            lab = latex_names[species[i]]
        else:
            lab = species[i]
        l.append(plt.plot(x, y[species[i]], label=lab))

    if ('ylabel' not in keyword_parameters):
        if (len(species) != 1):
            plt.ylabel('Mass Fraction')
        else:
            if (len(latex_names) == 0):
                plt.ylabel('X(' + species[0] + ')')
            else:
                plt.ylabel('X(' + latex_names[species[0]] + ')')

    if len(species) != 1:
        plt.legend()

    if ('xlabel' not in keyword_parameters):
        plt.xlabel(prop)

    plp.apply_class_methods(plt, keyword_parameters)

    plt.show()
예제 #6
0
파일: xml.py 프로젝트: ndavila/wnutils
def plot_property_vs_property(file, prop1, prop2, **keyword_parameters):

    plp.set_plot_params(mpl, keyword_parameters)

    result = wx.get_properties_in_zones_as_floats(file, [prop1, prop2])

    x = result[prop1]
    if ('xfactor' in keyword_parameters):
        x /= float(keyword_parameters['xfactor'])

    y = result[prop2]
    if ('yfactor' in keyword_parameters):
        y /= float(keyword_parameters['yfactor'])

    plp.apply_class_methods(plt, keyword_parameters)

    plt.plot(x, y)
    plt.show()
예제 #7
0
파일: xml.py 프로젝트: ndavila/wnutils
def plot_mass_fractions(file, species, **keyword_parameters):

    plp.set_plot_params(mpl, keyword_parameters)

    fig = plt.figure()

    y = []
    l = []
    latex_names = []

    y = wx.get_mass_fractions_in_zones(file, species)

    if ('use_latex_names' in keyword_parameters):
        if (keyword_parameters['use_latex_names'] == 'yes'):
            latex_names = wu.get_latex_names(species)

    for i in range(len(species)):
        if (len(latex_names) != 0):
            lab = latex_names[species[i]]
        else:
            lab = species[i]
        l.append(plt.plot(y[species[i]], label=lab))

    if ('ylabel' not in keyword_parameters):
        if (len(species) != 1):
            plt.ylabel('Mass Fraction')
        else:
            if (len(latex_names) == 0):
                plt.ylabel('X(' + species[0] + ')')
            else:
                plt.ylabel('X(' + latex_names[species[0]] + ')')

    if ('xlabel' not in keyword_parameters):
        plt.xlabel('step')

    plp.apply_class_methods(plt, keyword_parameters)

    plt.show()