getdist icon indicating copy to clipboard operation
getdist copied to clipboard

How to make a triangular plot with different data sets, starting with a data set that contains fewer cosmological parameters in the sample?

Open JaelssonLima opened this issue 1 month ago • 2 comments

If I do the plot

roots_data=[IDEM2_sample5, IDEM2_sample2, IDEM2_sample3, IDEM2_sample4,IDEM2_sample1]

works, but I do:

roots_data=[IDEM2_sample1, IDEM2_sample2, IDEM2_sample3, IDEM2_sample4,IDEM2_sample5]

It doesn't work, how to solve it?

The IDEM2_sample1, IDEM2_sample2 strings have fewer parameters in the sample than the other data.

Att. Jaelsson

 #IDEM2 PLOTS / JSL 

import getdist as gd
from getdist import loadMCSamples
from getdist import plots
from getdist.types import ResultTable
import matplotlib.pyplot as plt

# Configuração da fonte
font = {'family': 'serif', 'serif': ['Times New Roman']}
plt.rc('font', **font)
plt.rc('text', usetex=True)


# Load the Monte Carlo samples
root='/home/jaelsson/Documents/montepython_public_jsl/chains/artigo_jsl/idem2_cov'
IDEM2_sample1 = gd.loadMCSamples(root+'/Pantheon+cc+bao1_idem2/2024-03-17_200000_', settings={'ignore_rows': 0})
IDEM2_sample2 = gd.loadMCSamples(root+'/Pantheon+H0+cc+bao1_idem2/2024-02-15_100000_', settings={'ignore_rows': 0})
IDEM2_sample3 = gd.loadMCSamples(root+'/planck2018TTTEEE+lensing_idem2_cov2/2024-04-19_300000_', settings={'ignore_rows': 0})
IDEM2_sample4 = gd.loadMCSamples(root+'/planck2018TTTEEE+lensing+Pantheon+cc+BAO_idem2_cov/2024-04-19_300000_', settings={'ignore_rows': 0})
IDEM2_sample5 = gd.loadMCSamples(root+'/planck2018TTTEEE+lensing+Pantheon+H0+cc+BAO_idem2_cov/2024-04-19_300000_', settings={'ignore_rows': 0})


#params
################################
#omega_b = Omega_b * (h**2)
#h=H0/100.0  # h = H0 / (100 km/s/Mpc)
Omega_b=0.05 # fixo
################################

#1
p1=IDEM2_sample1.getParams()
gamma_lam=p1.gamma_lam
H0=p1.H0
Omega_m=p1.Omega_m 
M=p1.M
omega_b=(p1.H0/100.0)**2*Omega_b
omega_cdm=(p1.H0/100.0)**2*p1.Omega_cdm
IDEM2_sample1.addDerived(gamma_lam, name='gamma' , label=r'\gamma')
IDEM2_sample1.addDerived(H0, name='H_0' , label=r'H_0')
IDEM2_sample1.addDerived(Omega_m, name='Omega_{m0}' , label=r'\Omega_{m0}')
IDEM2_sample1.addDerived(M, name='{M}' , label=r'M')
IDEM2_sample1.addDerived(omega_b, name='omega_{b}' , label=r'\omega_{b}')
IDEM2_sample1.addDerived(omega_cdm, name='omega_{cdm}' , label=r'\omega_{c}')


#2
p2=IDEM2_sample2.getParams()
gamma_lam=p2.gamma_lam
H0=p2.H0
Omega_m=p2.Omega_m 
M=p2.M
omega_b=(p2.H0/100.0)**2*Omega_b
omega_cdm=(p2.H0/100.0)**2*p2.Omega_cdm
IDEM2_sample2.addDerived(gamma_lam, name='gamma' , label=r'\gamma')
IDEM2_sample2.addDerived(H0, name='H_0' , label=r'H_0')
IDEM2_sample2.addDerived(Omega_m, name='Omega_{m0}' , label=r'\Omega_{m0}')
IDEM2_sample2.addDerived(M, name='{M}' , label=r'M')
IDEM2_sample2.addDerived(omega_b, name='omega_{b}' , label=r'\omega_{b}')
IDEM2_sample2.addDerived(omega_cdm, name='omega_{cdm}' , label=r'\omega_{c}')



#3
p3=IDEM2_sample3.getParams()
gamma_lam=p3.gamma_lam
H0=p3.H0
Omega_m=p3.Omega_m 
#M=p3.M
#omega_b=(p3.H0/100.0)**2*Omega_b
omega_b=p3.omega_b/100.0
omega_cdm=p3.omega_cdm
#A_s=p3.A_s
#n_s=p3.n_s
sigma8=p3.sigma8
tau_reio=p3.tau_reio
IDEM2_sample3.addDerived(gamma_lam, name='gamma' , label=r'\gamma')
IDEM2_sample3.addDerived(H0, name='H_0' , label=r'H_0')
IDEM2_sample3.addDerived(Omega_m, name='Omega_{m0}' , label=r'\Omega_{m0}')
#IDEM2_sample3.addDerived(M, name='{M}' , label=r'M')
IDEM2_sample3.addDerived(omega_b, name='omega_{b}' , label=r'\omega_{b}')
IDEM2_sample3.addDerived(omega_cdm, name='omega_{cdm}' , label=r'\omega_{c}')
#IDEM2_sample3.addDerived(A_s, name='A_{s}' , label=r'10^{-9}A_{s } ')
#IDEM2_sample3.addDerived(n_s, name='n_{s}' , label=r'n_{s } ')
IDEM2_sample3.addDerived(sigma8, name='sigma{8}' , label=r'\sigma_{8} ')
IDEM2_sample3.addDerived(tau_reio, name='tau_{reio}' , label=r'\tau_{reio} ')


#4
p4=IDEM2_sample4.getParams()
gamma_lam=p4.gamma_lam
H0=p4.H0
Omega_m=p4.Omega_m 
M=p4.M
#omega_b=(p4.H0/100.0)**2*Omega_b
omega_b=p4.omega_b/100.0
omega_cdm=p4.omega_cdm
#A_s=p4.A_s
#n_s=p4.n_s
sigma8=p4.sigma8
tau_reio=p4.tau_reio
IDEM2_sample4.addDerived(gamma_lam, name='gamma' , label=r'\gamma')
IDEM2_sample4.addDerived(H0, name='H_0' , label=r'H_0')
IDEM2_sample4.addDerived(Omega_m, name='Omega_{m0}' , label=r'\Omega_{m0}')
IDEM2_sample4.addDerived(M, name='{M}' , label=r'M')
IDEM2_sample4.addDerived(omega_b, name='omega_{b}' , label=r'\omega_{b}')
IDEM2_sample4.addDerived(omega_cdm, name='omega_{cdm}' , label=r'\omega_{c}')
#IDEM2_sample4.addDerived(A_s, name='A_{s}' , label=r'10^{-9}A_{s } ')
#IDEM2_samplee4.addDerived(n_s, name='n_{s}' , label=r'n_{s } ')
IDEM2_sample4.addDerived(sigma8, name='sigma{8}' , label=r'\sigma_{8} ')
IDEM2_sample4.addDerived(tau_reio, name='tau_{reio}' , label=r'\tau_{reio} ')

#5
p5=IDEM2_sample5.getParams()
gamma_lam=p5.gamma_lam
H0=p5.H0
Omega_m=p5.Omega_m 
M=p5.M
#omega_b=(p5.H0/100.0)**2*Omega_b
omega_b=p5.omega_b/100.0
omega_cdm=p5.omega_cdm
#A_s=p5.A_s
#n_s=p5.n_s
sigma8=p5.sigma8
tau_reio=p5.tau_reio
IDEM2_sample5.addDerived(gamma_lam, name='gamma' , label=r'\gamma')
IDEM2_sample5.addDerived(H0, name='H_0' , label=r'H_0')
IDEM2_sample5.addDerived(Omega_m, name='Omega_{m0}' , label=r'\Omega_{m0}')
IDEM2_sample5.addDerived(M, name='{M}' , label=r'M')
IDEM2_sample5.addDerived(omega_b, name='omega_{b}' , label=r'\omega_{b}')
IDEM2_sample5.addDerived(omega_cdm, name='omega_{cdm}' , label=r'\omega_{c}')
#IDEM2_sample5.addDerived(A_s, name='A_{s}' , label=r'10^{-9}A_{s } ')
#IDEM2_sample5.addDerived(n_s, name='n_{s}' , label=r'n_{s } ')
IDEM2_sample5.addDerived(sigma8, name='sigma{8}' , label=r'\sigma_{8}')
IDEM2_sample5.addDerived(tau_reio, name='tau_{reio}' , label=r'\tau_{reio} ')



roots_data=[IDEM2_sample1, IDEM2_sample2, IDEM2_sample3, IDEM2_sample4,IDEM2_sample5]
#roots_data=[IDEM2_sample4, IDEM2_sample2, IDEM2_sample3, IDEM2_sample1,IDEM2_sample5]
#params = ['gamma','H_0','Omega_{m0}']
#roots_data=[IDEM2_sample3, IDEM2_sample4,IDEM2_sample5]
#params = ['H_0','A_s','n_s','sigma{8}', 'tau_reio','100theta_s','ln10^{10}A_s']
#params = ['H_0','Omega_{m0}','omega_{b}','omega_{cdm}']
#params = ['gamma','H_0','Omega_{m0}','omega_{b}','omega_{cdm}','M']


params = ['H_0','Omega_{m0}','omega_{b}','omega_{cdm}','M','A_s','n_s','sigma{8}','tau_{reio}','100theta_s','ln10^{10}A_s']


#g.settings.scaling_factor = 1
g = plots.get_subplot_plotter(width_inch=8)  # Initialize without chain_dir for single chain
g.triangle_plot(roots_data,
                params,
                #param_limits=param_limits,
                #nx=5,
                legend_labels=['Background ','Background+$H_0$','Planck','Background+Planck','Background+Planck+$H_0$'],
                #colors=['black','dodgerblue','orange','green','tomato'], colored_text=True,
                filled=True,
                #contour_lws=0.8
               )

# g.export('IDEM2_1.pdf', dpi=2000)

# #print(samples.getTable(limit=2).tableTex())
# print(ResultTable(ncol=1,results=roots_data,
#                   paramList=['gamma','H_0','Omega_{m0}','M','omega_{b}', 'omega_{cdm}','A_s','n_s','sigma{8}','tau_{reio}','100theta_s','ln10^{10}A_s'],
#                  limit=1).tableTex())
# print(ResultTable(ncol=1,results=roots_data,
#                   paramList=['gamma','H_0','Omega_{m0}','M','omega_{b}', 'omega_{cdm}','A_s','n_s','sigma{8}','tau_{reio}','100theta_s','ln10^{10}A_s'],
#                  limit=2).tableTex())

JaelssonLima avatar May 08 '24 03:05 JaelssonLima