Source code for nucleardatapy.fig.matter_setupNEPStats_fig

import numpy as np
import matplotlib.pyplot as plt

import nucleardatapy as nuda


[docs] def matter_setupNEPStats_fig(pname, models): """ Plot the PDF for NEPs. The plot is 5x2 with: [0,0]: Esat. [0,1]: Esym. [1,0]: nsat. [1,1]: Lsym. [2,0]: Ksat. [2,1]: Ksym. [3,0]: Qsat. [3,1]: Qsym. [4,0]: m*sat/m. [4,1]: Delta m*sat/m. :param pname: name of the figure (*.png) :type pname: str. :param models: models to run on. :type models: array of str. """ # print(f"Plot name: {pname}") # fig, axs = plt.subplots(5, 2) fig.tight_layout() # Or equivalently, "plt.tight_layout()" fig.subplots_adjust( left=0.12, bottom=0.06, right=0.95, top=0.9, wspace=0.3, hspace=0.4 ) # axs[0, 0].set_ylabel(r"$E_\text{sat}$") axs[0, 0].set_xlim([-16.5, -15]) axs[1, 0].set_ylabel(r"$n_\text{sat}$") axs[1, 0].set_xlim([0.14, 0.18]) axs[2, 0].set_ylabel(r"$K_\text{sat}$") axs[2, 0].set_xlim([180, 360]) axs[3, 0].set_ylabel(r"$Q_\text{sat}$") axs[3, 0].set_xlim([-1000, 1000]) axs[4, 0].set_ylabel(r"$m_\text{sat}^{*}/m$") axs[4, 0].set_xlim([0.35, 1.2]) axs[0, 1].set_ylabel(r"$E_\text{sym}$") axs[0, 1].set_xlim([26, 40]) axs[1, 1].set_ylabel(r"$L_\text{sym}$") axs[1, 1].set_xlim([0, 120]) axs[2, 1].set_ylabel(r"$K_\text{sym}$") axs[2, 1].set_xlim([-400, 220]) axs[3, 1].set_ylabel(r"$Q_\text{sym}$") axs[3, 1].set_xlim([-50, 900]) axs[4, 1].set_ylabel(r"$\Delta m_\text{sat}^{*}/m$") axs[4, 1].set_xlim([-0.5, 1.1]) # # Built distribution of NEP # for model in models: # dist = nuda.matter.setupNEPStat_model(model) # xbins = np.arange(-16.5, -15.0, 0.15) if len(dist.Esat) != 0: axs[0, 0].hist(dist.Esat, bins=xbins, alpha=0.5, weights=1/len(dist.Esat) * np.ones(len(dist.Esat)) ) xbins = np.arange(0.14, 0.18, 0.004) if len(dist.nsat) != 0: axs[1, 0].hist(dist.nsat, bins=xbins, alpha=0.5, weights=1/len(dist.nsat) * np.ones(len(dist.nsat)) ) xbins = np.arange(180, 320, 20) if len(dist.Ksat) != 0: axs[2, 0].hist(dist.Ksat, bins=xbins, alpha=0.5, weights=1/len(dist.Ksat) * np.ones(len(dist.Ksat)), label=model ) xbins = np.arange(-1000, 1000, 200) if len(dist.Qsat) != 0: axs[3, 0].hist(dist.Qsat, bins=xbins, alpha=0.5, weights=1/len(dist.Qsat) * np.ones(len(dist.Qsat)) ) xbins = np.arange(0.5, 1.2, 0.1) if len(dist.msat) != 0: axs[4, 0].hist(dist.msat, bins=xbins, alpha=0.5, weights=1/len(dist.msat) * np.ones(len(dist.msat)) ) xbins = np.arange(25, 40, 1.0) if len(dist.Esym) != 0: axs[0, 1].hist(dist.Esym, bins=xbins, alpha=0.5, weights=1/len(dist.Esym) * np.ones(len(dist.Esym)) ) xbins = np.arange(0, 120, 10) if len(dist.Lsym) != 0: axs[1, 1].hist(dist.Lsym, bins=xbins, alpha=0.5, weights=1/len(dist.Lsym) * np.ones(len(dist.Lsym)) ) xbins = np.arange(-400, 400, 100) if len(dist.Ksym) != 0: axs[2, 1].hist(dist.Ksym, bins=xbins, alpha=0.5, weights=1/len(dist.Ksym) * np.ones(len(dist.Ksym)) ) xbins = np.arange(0, 1100, 100) if len(dist.Qsym) != 0: axs[3, 1].hist(dist.Qsym, bins=xbins, alpha=0.5, weights=1/len(dist.Qsym) * np.ones(len(dist.Qsym)) ) xbins = np.arange(-0.6, 1.0, 0.1) if len(dist.Dmsat) != 0: axs[4, 1].hist(dist.Dmsat, bins=xbins, alpha=0.5, weights=1/len(dist.Dmsat) * np.ones(len(dist.Dmsat)) ) # # axs[0,0].legend(loc='lower right',fontsize='10',ncol=2) fig.legend( loc="upper left", bbox_to_anchor=(0.02, 0.99), columnspacing=2, fontsize="7.5", ncol=7, frameon=False, ) # if pname is not None: plt.savefig(pname, dpi=300) plt.close()