def get_separate_mcsamples(chain): """ Function that returns separate :class:`~getdist.mcsamples.MCSamples` for each sampler chain. :param chain: :class:`~getdist.mcsamples.MCSamples` the input chain. :return: list of :class:`~getdist.mcsamples.MCSamples` with the separate chains. """ # get separate chains: _chains = chain.getSeparateChains() # copy the param names and ranges: _mc_samples = [] for ch in _chains: temp = MCSamples() temp.paramNames = chain.getParamNames() temp.setSamples(ch.samples, weights=ch.weights, loglikes=ch.loglikes) temp.sampler = chain.sampler temp.ranges = chain.ranges temp.updateBaseStatistics() _mc_samples.append(temp.copy()) # return _mc_samples
with np.load('sample_EXP_CC+SN+BAO+AGN_4params_deriv.npz') as data: samples_3 = data['new_samples'] os.chdir(path_datos_global+'/Resultados_cadenas') with np.load('sample_EXP_CC+SN_4params_deriv.npz') as data: samples_0 = data['new_samples'] #%% %matplotlib qt5 ndim = 4 names = ['M_{abs}','\Omega_{m}','b','H_{0}'] labels=names samples1 = MCSamples(samples=samples_1,names = names, labels = labels,ranges={'b':[0, None]}) samples1 = samples1.copy(label=r'Lowest-order with $0.3\sigma$ smoothing', settings={'mult_bias_correction_order':0,'smooth_scale_2D':0.3, 'smooth_scale_1D':0.3}) samples2 = MCSamples(samples=samples_2,names = names, labels = labels,ranges={'b':[0, None]}) samples2 = samples2.copy(label=r'Lowest-order with $0.3\sigma$ smoothing', settings={'mult_bias_correction_order':0,'smooth_scale_2D':0.3, 'smooth_scale_1D':0.3}) samples3 = MCSamples(samples=samples_3,names = names, labels = labels,ranges={'b':[0, None]}) samples3 = samples3.copy(label=r'Lowest-order with $0.3\sigma$ smoothing', settings={'mult_bias_correction_order':0,'smooth_scale_2D':0.3, 'smooth_scale_1D':0.3}) samples0 = MCSamples(samples=samples_0,names = names, labels = labels,ranges={'b':[0, None]}) samples0 = samples0.copy(label=r'Lowest-order with $0.3\sigma$ smoothing', settings={'mult_bias_correction_order':0,'smooth_scale_2D':0.3, 'smooth_scale_1D':0.3}) g = plots.get_subplot_plotter() g.triangle_plot([samples0, samples1, samples2, samples3],