mirror of
https://github.com/hoellin/selfisys_public.git
synced 2025-06-07 00:21:12 +00:00
942 lines
No EOL
135 KiB
HTML
942 lines
No EOL
135 KiB
HTML
|
||
|
||
<!DOCTYPE html>
|
||
<html class="writer-html5" lang="en" data-content_root="../../../">
|
||
<head>
|
||
<meta charset="utf-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||
<title>selfisys.utils.plot_examples — SelfiSys /Users/hoellinger/Library/CloudStorage/Dropbox/travail/these/science/code/SELFI/selfisys/src/ documentation</title>
|
||
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=80d5e7a1" />
|
||
<link rel="stylesheet" type="text/css" href="../../../_static/css/theme.css?v=e59714d7" />
|
||
|
||
|
||
<script src="../../../_static/jquery.js?v=5d32c60e"></script>
|
||
<script src="../../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||
<script src="../../../_static/documentation_options.js?v=75025241"></script>
|
||
<script src="../../../_static/doctools.js?v=9bcbadda"></script>
|
||
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||
<script src="../../../_static/js/theme.js"></script>
|
||
<link rel="index" title="Index" href="../../../genindex.html" />
|
||
<link rel="search" title="Search" href="../../../search.html" />
|
||
</head>
|
||
|
||
<body class="wy-body-for-nav">
|
||
<div class="wy-grid-for-nav">
|
||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||
<div class="wy-side-scroll">
|
||
<div class="wy-side-nav-search" >
|
||
|
||
|
||
|
||
<a href="../../../index.html" class="icon icon-home">
|
||
SelfiSys
|
||
</a>
|
||
<div role="search">
|
||
<form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
|
||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||
<input type="hidden" name="check_keywords" value="yes" />
|
||
<input type="hidden" name="area" value="default" />
|
||
</form>
|
||
</div>
|
||
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||
<p class="caption" role="heading"><span class="caption-text">API Documentation</span></p>
|
||
<ul>
|
||
<li class="toctree-l1"><a class="reference internal" href="../../../selfisys.hiddenbox.html">hiddenbox</a><ul>
|
||
<li class="toctree-l2"><a class="reference internal" href="../../../selfisys.hiddenbox.html#selfisys.hiddenbox.HiddenBox"><code class="docutils literal notranslate"><span class="pre">HiddenBox</span></code></a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.hiddenbox.html#selfisys.hiddenbox.HiddenBox.Npop"><code class="docutils literal notranslate"><span class="pre">HiddenBox.Npop</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.hiddenbox.html#selfisys.hiddenbox.HiddenBox.Ntimesteps"><code class="docutils literal notranslate"><span class="pre">HiddenBox.Ntimesteps</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.hiddenbox.html#selfisys.hiddenbox.HiddenBox.Psingle"><code class="docutils literal notranslate"><span class="pre">HiddenBox.Psingle</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.hiddenbox.html#selfisys.hiddenbox.HiddenBox.compute_pool"><code class="docutils literal notranslate"><span class="pre">HiddenBox.compute_pool()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.hiddenbox.html#selfisys.hiddenbox.HiddenBox.evaluate"><code class="docutils literal notranslate"><span class="pre">HiddenBox.evaluate()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.hiddenbox.html#selfisys.hiddenbox.HiddenBox.force_neglect_lightcone"><code class="docutils literal notranslate"><span class="pre">HiddenBox.force_neglect_lightcone</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.hiddenbox.html#selfisys.hiddenbox.HiddenBox.force_recompute_mocks"><code class="docutils literal notranslate"><span class="pre">HiddenBox.force_recompute_mocks</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.hiddenbox.html#selfisys.hiddenbox.HiddenBox.gravity_on"><code class="docutils literal notranslate"><span class="pre">HiddenBox.gravity_on</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.hiddenbox.html#selfisys.hiddenbox.HiddenBox.load_pool"><code class="docutils literal notranslate"><span class="pre">HiddenBox.load_pool()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.hiddenbox.html#selfisys.hiddenbox.HiddenBox.make_data"><code class="docutils literal notranslate"><span class="pre">HiddenBox.make_data()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.hiddenbox.html#selfisys.hiddenbox.HiddenBox.modified_selfi"><code class="docutils literal notranslate"><span class="pre">HiddenBox.modified_selfi</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.hiddenbox.html#selfisys.hiddenbox.HiddenBox.prefix_mocks"><code class="docutils literal notranslate"><span class="pre">HiddenBox.prefix_mocks</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.hiddenbox.html#selfisys.hiddenbox.HiddenBox.reset_survey"><code class="docutils literal notranslate"><span class="pre">HiddenBox.reset_survey()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.hiddenbox.html#selfisys.hiddenbox.HiddenBox.setup_only"><code class="docutils literal notranslate"><span class="pre">HiddenBox.setup_only</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.hiddenbox.html#selfisys.hiddenbox.HiddenBox.switch_recompute_pool"><code class="docutils literal notranslate"><span class="pre">HiddenBox.switch_recompute_pool()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.hiddenbox.html#selfisys.hiddenbox.HiddenBox.switch_setup"><code class="docutils literal notranslate"><span class="pre">HiddenBox.switch_setup()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.hiddenbox.html#selfisys.hiddenbox.HiddenBox.update"><code class="docutils literal notranslate"><span class="pre">HiddenBox.update()</span></code></a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../../../selfisys.normalise_hb.html">normalise_hb</a><ul>
|
||
<li class="toctree-l2"><a class="reference internal" href="../../../selfisys.normalise_hb.html#selfisys.normalise_hb.define_normalisation"><code class="docutils literal notranslate"><span class="pre">define_normalisation()</span></code></a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../../../selfisys.normalise_hb.html#selfisys.normalise_hb.worker_normalisation"><code class="docutils literal notranslate"><span class="pre">worker_normalisation()</span></code></a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../../../selfisys.normalise_hb.html#selfisys.normalise_hb.worker_normalisation_public"><code class="docutils literal notranslate"><span class="pre">worker_normalisation_public()</span></code></a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../../../selfisys.normalise_hb.html#selfisys.normalise_hb.worker_normalisation_wrapper"><code class="docutils literal notranslate"><span class="pre">worker_normalisation_wrapper()</span></code></a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../../../selfisys.prior.html">prior</a><ul>
|
||
<li class="toctree-l2"><a class="reference internal" href="../../../selfisys.prior.html#selfisys.prior.get_summary"><code class="docutils literal notranslate"><span class="pre">get_summary()</span></code></a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../../../selfisys.prior.html#selfisys.prior.logposterior_hyperparameters_parallel"><code class="docutils literal notranslate"><span class="pre">logposterior_hyperparameters_parallel()</span></code></a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../../../selfisys.prior.html#selfisys.prior.perform_prior_optimisation_and_plot"><code class="docutils literal notranslate"><span class="pre">perform_prior_optimisation_and_plot()</span></code></a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../../../selfisys.prior.html#selfisys.prior.planck_prior"><code class="docutils literal notranslate"><span class="pre">planck_prior</span></code></a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.prior.html#selfisys.prior.planck_prior.mean"><code class="docutils literal notranslate"><span class="pre">planck_prior.mean</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.prior.html#selfisys.prior.planck_prior.covariance"><code class="docutils literal notranslate"><span class="pre">planck_prior.covariance</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.prior.html#selfisys.prior.planck_prior.inv_covariance"><code class="docutils literal notranslate"><span class="pre">planck_prior.inv_covariance</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.prior.html#selfisys.prior.planck_prior.Nbin_max"><code class="docutils literal notranslate"><span class="pre">planck_prior.Nbin_max</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.prior.html#selfisys.prior.planck_prior.Nbin_min"><code class="docutils literal notranslate"><span class="pre">planck_prior.Nbin_min</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.prior.html#selfisys.prior.planck_prior.compute"><code class="docutils literal notranslate"><span class="pre">planck_prior.compute()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.prior.html#selfisys.prior.planck_prior.load"><code class="docutils literal notranslate"><span class="pre">planck_prior.load()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.prior.html#selfisys.prior.planck_prior.logpdf"><code class="docutils literal notranslate"><span class="pre">planck_prior.logpdf()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.prior.html#selfisys.prior.planck_prior.sample"><code class="docutils literal notranslate"><span class="pre">planck_prior.sample()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.prior.html#selfisys.prior.planck_prior.save"><code class="docutils literal notranslate"><span class="pre">planck_prior.save()</span></code></a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../../../selfisys.prior.html#selfisys.prior.worker_class"><code class="docutils literal notranslate"><span class="pre">worker_class()</span></code></a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../../../selfisys.selection_functions.html">selection_functions</a><ul>
|
||
<li class="toctree-l2"><a class="reference internal" href="../../../selfisys.selection_functions.html#selfisys.selection_functions.LognormalSelection"><code class="docutils literal notranslate"><span class="pre">LognormalSelection</span></code></a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.selection_functions.html#selfisys.selection_functions.LognormalSelection.init_selection"><code class="docutils literal notranslate"><span class="pre">LognormalSelection.init_selection()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.selection_functions.html#selfisys.selection_functions.LognormalSelection.lognormals_z_to_x"><code class="docutils literal notranslate"><span class="pre">LognormalSelection.lognormals_z_to_x()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.selection_functions.html#selfisys.selection_functions.LognormalSelection.multiple_lognormal"><code class="docutils literal notranslate"><span class="pre">LognormalSelection.multiple_lognormal()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.selection_functions.html#selfisys.selection_functions.LognormalSelection.multiple_lognormal_z"><code class="docutils literal notranslate"><span class="pre">LognormalSelection.multiple_lognormal_z()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.selection_functions.html#selfisys.selection_functions.LognormalSelection.one_lognormal"><code class="docutils literal notranslate"><span class="pre">LognormalSelection.one_lognormal()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.selection_functions.html#selfisys.selection_functions.LognormalSelection.one_lognormal_z"><code class="docutils literal notranslate"><span class="pre">LognormalSelection.one_lognormal_z()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.selection_functions.html#selfisys.selection_functions.LognormalSelection.r_grid"><code class="docutils literal notranslate"><span class="pre">LognormalSelection.r_grid()</span></code></a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../../../selfisys.selfi_interface.html">selfi_interface</a><ul>
|
||
<li class="toctree-l2"><a class="reference internal" href="../../../selfisys.selfi_interface.html#selfisys.selfi_interface.PrintMessage"><code class="docutils literal notranslate"><span class="pre">PrintMessage()</span></code></a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../../../selfisys.selfi_interface.html#selfisys.selfi_interface.indent"><code class="docutils literal notranslate"><span class="pre">indent()</span></code></a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../../../selfisys.selfi_interface.html#selfisys.selfi_interface.unindent"><code class="docutils literal notranslate"><span class="pre">unindent()</span></code></a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../../../selfisys.sbmy_interface.html">sbmy_interface</a><ul>
|
||
<li class="toctree-l2"><a class="reference internal" href="../../../selfisys.sbmy_interface.html#selfisys.sbmy_interface.compute_Phi"><code class="docutils literal notranslate"><span class="pre">compute_Phi()</span></code></a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../../../selfisys.sbmy_interface.html#selfisys.sbmy_interface.generate_white_noise_Field"><code class="docutils literal notranslate"><span class="pre">generate_white_noise_Field()</span></code></a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../../../selfisys.sbmy_interface.html#selfisys.sbmy_interface.get_power_spectrum_from_cosmo"><code class="docutils literal notranslate"><span class="pre">get_power_spectrum_from_cosmo()</span></code></a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../../../selfisys.sbmy_interface.html#selfisys.sbmy_interface.handle_time_stepping"><code class="docutils literal notranslate"><span class="pre">handle_time_stepping()</span></code></a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../../../selfisys.sbmy_interface.html#selfisys.sbmy_interface.setup_sbmy_parfiles"><code class="docutils literal notranslate"><span class="pre">setup_sbmy_parfiles()</span></code></a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../../../selfisys.grf.html">grf</a><ul>
|
||
<li class="toctree-l2"><a class="reference internal" href="../../../selfisys.grf.html#selfisys.grf.primordial_grf"><code class="docutils literal notranslate"><span class="pre">primordial_grf()</span></code></a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../../../selfisys.utils.html">selfisys.utils package</a><ul>
|
||
<li class="toctree-l2"><a class="reference internal" href="../../../selfisys.utils.html#submodules">Submodules</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../../../selfisys.utils.html#module-selfisys.utils.examples_utils">selfisys.utils.examples_utils module</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.examples_utils.clear_large_plot"><code class="docutils literal notranslate"><span class="pre">clear_large_plot()</span></code></a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../../../selfisys.utils.html#module-selfisys.utils.logger">selfisys.utils.logger module</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.logger.CustomLogger"><code class="docutils literal notranslate"><span class="pre">CustomLogger</span></code></a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.logger.CustomLogger.diagnostic"><code class="docutils literal notranslate"><span class="pre">CustomLogger.diagnostic()</span></code></a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.logger.CustomLoggerHandler"><code class="docutils literal notranslate"><span class="pre">CustomLoggerHandler</span></code></a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.logger.CustomLoggerHandler.emit"><code class="docutils literal notranslate"><span class="pre">CustomLoggerHandler.emit()</span></code></a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.logger.INDENT"><code class="docutils literal notranslate"><span class="pre">INDENT()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.logger.PrintDiagnostic"><code class="docutils literal notranslate"><span class="pre">PrintDiagnostic()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.logger.PrintError"><code class="docutils literal notranslate"><span class="pre">PrintError()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.logger.PrintInfo"><code class="docutils literal notranslate"><span class="pre">PrintInfo()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.logger.PrintLeftType"><code class="docutils literal notranslate"><span class="pre">PrintLeftType()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.logger.PrintWarning"><code class="docutils literal notranslate"><span class="pre">PrintWarning()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.logger.UNINDENT"><code class="docutils literal notranslate"><span class="pre">UNINDENT()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.logger.getCustomLogger"><code class="docutils literal notranslate"><span class="pre">getCustomLogger()</span></code></a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../../../selfisys.utils.html#module-selfisys.utils.low_level">selfisys.utils.low_level module</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.low_level.stderr_redirector"><code class="docutils literal notranslate"><span class="pre">stderr_redirector()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.low_level.stdout_redirector"><code class="docutils literal notranslate"><span class="pre">stdout_redirector()</span></code></a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../../../selfisys.utils.html#module-selfisys.utils.parser">selfisys.utils.parser module</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.parser.bool_sh"><code class="docutils literal notranslate"><span class="pre">bool_sh()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.parser.check_files_exist"><code class="docutils literal notranslate"><span class="pre">check_files_exist()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.parser.intNone"><code class="docutils literal notranslate"><span class="pre">intNone()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.parser.joinstrs"><code class="docutils literal notranslate"><span class="pre">joinstrs()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.parser.joinstrs_only"><code class="docutils literal notranslate"><span class="pre">joinstrs_only()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.parser.none_or_bool_or_str"><code class="docutils literal notranslate"><span class="pre">none_or_bool_or_str()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.parser.safe_npload"><code class="docutils literal notranslate"><span class="pre">safe_npload()</span></code></a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../../../selfisys.utils.html#module-selfisys.utils.path_utils">selfisys.utils.path_utils module</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.path_utils.file_names_evaluate"><code class="docutils literal notranslate"><span class="pre">file_names_evaluate()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.path_utils.get_file_names"><code class="docutils literal notranslate"><span class="pre">get_file_names()</span></code></a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../../../selfisys.utils.html#module-selfisys.utils.plot_examples">selfisys.utils.plot_examples module</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.plot_examples.plot_comoving_distance_redshift"><code class="docutils literal notranslate"><span class="pre">plot_comoving_distance_redshift()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.plot_examples.plot_galaxy_field_slice"><code class="docutils literal notranslate"><span class="pre">plot_galaxy_field_slice()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.plot_examples.plot_power_spectrum"><code class="docutils literal notranslate"><span class="pre">plot_power_spectrum()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.plot_examples.plot_selection_functions_def_in_z"><code class="docutils literal notranslate"><span class="pre">plot_selection_functions_def_in_z()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.plot_examples.redshift_distance_conversion"><code class="docutils literal notranslate"><span class="pre">redshift_distance_conversion()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.plot_examples.relative_error_analysis"><code class="docutils literal notranslate"><span class="pre">relative_error_analysis()</span></code></a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../../../selfisys.utils.html#module-selfisys.utils.plot_params">selfisys.utils.plot_params module</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.plot_params.ScalarFormatterForceFormat_11"><code class="docutils literal notranslate"><span class="pre">ScalarFormatterForceFormat_11</span></code></a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.plot_params.ScalarFormatterForceFormat_11.get_offset"><code class="docutils literal notranslate"><span class="pre">ScalarFormatterForceFormat_11.get_offset()</span></code></a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.plot_params.ScalarFormatterForceFormat_11.set_scientific"><code class="docutils literal notranslate"><span class="pre">ScalarFormatterForceFormat_11.set_scientific()</span></code></a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.plot_params.ScalarFormatterForceFormat_11.set_useOffset"><code class="docutils literal notranslate"><span class="pre">ScalarFormatterForceFormat_11.set_useOffset()</span></code></a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.plot_params.create_all_colormaps"><code class="docutils literal notranslate"><span class="pre">create_all_colormaps()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.plot_params.create_colormap"><code class="docutils literal notranslate"><span class="pre">create_colormap()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.plot_params.dynamic_text_scaling"><code class="docutils literal notranslate"><span class="pre">dynamic_text_scaling()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.plot_params.get_contours"><code class="docutils literal notranslate"><span class="pre">get_contours()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.plot_params.reset_plotting"><code class="docutils literal notranslate"><span class="pre">reset_plotting()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.plot_params.setup_plotting"><code class="docutils literal notranslate"><span class="pre">setup_plotting()</span></code></a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../../../selfisys.utils.html#module-selfisys.utils.plot_utils">selfisys.utils.plot_utils module</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.plot_utils.plot_C"><code class="docutils literal notranslate"><span class="pre">plot_C()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.plot_utils.plot_fisher"><code class="docutils literal notranslate"><span class="pre">plot_fisher()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.plot_utils.plot_gradients"><code class="docutils literal notranslate"><span class="pre">plot_gradients()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.plot_utils.plot_histogram"><code class="docutils literal notranslate"><span class="pre">plot_histogram()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.plot_utils.plot_mocks"><code class="docutils literal notranslate"><span class="pre">plot_mocks()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.plot_utils.plot_mocks_compact"><code class="docutils literal notranslate"><span class="pre">plot_mocks_compact()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.plot_utils.plot_observations"><code class="docutils literal notranslate"><span class="pre">plot_observations()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.plot_utils.plot_prior_and_posterior_covariances"><code class="docutils literal notranslate"><span class="pre">plot_prior_and_posterior_covariances()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.plot_utils.plot_reconstruction"><code class="docutils literal notranslate"><span class="pre">plot_reconstruction()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.plot_utils.plot_selection_functions"><code class="docutils literal notranslate"><span class="pre">plot_selection_functions()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.plot_utils.plotly_3d"><code class="docutils literal notranslate"><span class="pre">plotly_3d()</span></code></a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../../../selfisys.utils.html#module-selfisys.utils.timestepping">selfisys.utils.timestepping module</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.timestepping.merge_nTS"><code class="docutils literal notranslate"><span class="pre">merge_nTS()</span></code></a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../../../selfisys.utils.html#module-selfisys.utils.tools">selfisys.utils.tools module</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.tools.cosmo_vector_to_Simbelmyne_dict"><code class="docutils literal notranslate"><span class="pre">cosmo_vector_to_Simbelmyne_dict()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.tools.cosmo_vector_to_class_dict"><code class="docutils literal notranslate"><span class="pre">cosmo_vector_to_class_dict()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.tools.custom_stat"><code class="docutils literal notranslate"><span class="pre">custom_stat()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.tools.fisher_rao"><code class="docutils literal notranslate"><span class="pre">fisher_rao()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.tools.get_k_max"><code class="docutils literal notranslate"><span class="pre">get_k_max()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.tools.get_summary"><code class="docutils literal notranslate"><span class="pre">get_summary()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.tools.none_or_bool_or_str"><code class="docutils literal notranslate"><span class="pre">none_or_bool_or_str()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.tools.params_ids_to_Simbelmyne_dict"><code class="docutils literal notranslate"><span class="pre">params_ids_to_Simbelmyne_dict()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.tools.sample_omega_from_prior"><code class="docutils literal notranslate"><span class="pre">sample_omega_from_prior()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.tools.summary_to_score"><code class="docutils literal notranslate"><span class="pre">summary_to_score()</span></code></a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../../../selfisys.utils.html#module-selfisys.utils.workers">selfisys.utils.workers module</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.workers.Simbelmyne_worker"><code class="docutils literal notranslate"><span class="pre">Simbelmyne_worker()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.workers.evaluate_gradient_of_Symbelmyne"><code class="docutils literal notranslate"><span class="pre">evaluate_gradient_of_Symbelmyne()</span></code></a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../selfisys.utils.html#selfisys.utils.workers.worker_gradient_Symbelmyne"><code class="docutils literal notranslate"><span class="pre">worker_gradient_Symbelmyne()</span></code></a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../../../selfisys.utils.html#module-selfisys.utils">Module contents</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
<p class="caption" role="heading"><span class="caption-text">Contribute</span></p>
|
||
<ul>
|
||
<li class="toctree-l1"><a class="reference internal" href="../../../CONTRIBUTING.html">Contributing to SelfiSys</a><ul>
|
||
<li class="toctree-l2"><a class="reference internal" href="../../../CONTRIBUTING.html#reporting-issues">Reporting Issues</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../../../CONTRIBUTING.html#submitting-contributions">Submitting Contributions</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../../../CONTRIBUTING.html#style-guidelines">Style Guidelines</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../CONTRIBUTING.html#python-code">Python code</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../../../CONTRIBUTING.html#jupyter-notebooks">Jupyter Notebooks</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../../../CONTRIBUTING.html#questions">Questions?</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
<p class="caption" role="heading"><span class="caption-text">References</span></p>
|
||
<ul>
|
||
<li class="toctree-l1"><a class="reference internal" href="../../../REFERENCES.html">References</a></li>
|
||
</ul>
|
||
|
||
</div>
|
||
</div>
|
||
</nav>
|
||
|
||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
|
||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||
<a href="../../../index.html">SelfiSys</a>
|
||
</nav>
|
||
|
||
<div class="wy-nav-content">
|
||
<div class="rst-content style-external-links">
|
||
<div role="navigation" aria-label="Page navigation">
|
||
<ul class="wy-breadcrumbs">
|
||
<li><a href="../../../index.html" class="icon icon-home" aria-label="Home"></a></li>
|
||
<li class="breadcrumb-item"><a href="../../index.html">Module code</a></li>
|
||
<li class="breadcrumb-item active">selfisys.utils.plot_examples</li>
|
||
<li class="wy-breadcrumbs-aside">
|
||
</li>
|
||
</ul>
|
||
<hr/>
|
||
</div>
|
||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||
<div itemprop="articleBody">
|
||
|
||
<h1>Source code for selfisys.utils.plot_examples</h1><div class="highlight"><pre>
|
||
<span></span><span class="ch">#!/usr/bin/env python3</span>
|
||
<span class="c1"># ----------------------------------------------------------------------</span>
|
||
<span class="c1"># Copyright (C) 2024 Tristan Hoellinger</span>
|
||
<span class="c1"># Distributed under the GNU General Public License v3.0 (GPLv3).</span>
|
||
<span class="c1"># See the LICENSE file in the root directory for details.</span>
|
||
<span class="c1"># SPDX-License-Identifier: GPL-3.0-or-later</span>
|
||
<span class="c1"># ----------------------------------------------------------------------</span>
|
||
|
||
<span class="n">__author__</span> <span class="o">=</span> <span class="s2">"Tristan Hoellinger"</span>
|
||
<span class="n">__version__</span> <span class="o">=</span> <span class="s2">"0.1.0"</span>
|
||
<span class="n">__date__</span> <span class="o">=</span> <span class="s2">"2024"</span>
|
||
<span class="n">__license__</span> <span class="o">=</span> <span class="s2">"GPLv3"</span>
|
||
|
||
<span class="sd">"""Visualisation utilities for the exploratory examples in SelfiSys.</span>
|
||
<span class="sd">"""</span>
|
||
|
||
<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
||
<span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
|
||
<span class="kn">from</span> <span class="nn">selfisys.utils.plot_params</span> <span class="kn">import</span> <span class="o">*</span>
|
||
|
||
<span class="c1"># Configure global plotting settings</span>
|
||
<span class="n">setup_plotting</span><span class="p">()</span>
|
||
|
||
|
||
<div class="viewcode-block" id="plot_power_spectrum">
|
||
<a class="viewcode-back" href="../../../selfisys.utils.html#selfisys.utils.plot_examples.plot_power_spectrum">[docs]</a>
|
||
<span class="k">def</span> <span class="nf">plot_power_spectrum</span><span class="p">(</span>
|
||
<span class="n">G_sim</span><span class="p">,</span> <span class="n">true_P</span><span class="p">,</span> <span class="n">k_s</span><span class="p">,</span> <span class="n">planck_Pk</span><span class="p">,</span> <span class="n">Pbins</span><span class="p">,</span> <span class="n">Pbins_bnd</span><span class="p">,</span> <span class="n">size</span><span class="p">,</span> <span class="n">L</span><span class="p">,</span> <span class="n">wd</span><span class="p">,</span> <span class="n">title</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">display</span><span class="o">=</span><span class="kc">True</span>
|
||
<span class="p">):</span>
|
||
<span class="w"> </span><span class="sd">"""</span>
|
||
<span class="sd"> Plot a power spectrum over Fourier modes, its linear interpolation</span>
|
||
<span class="sd"> over specified support points, and a given binning for comparison.</span>
|
||
|
||
<span class="sd"> Parameters</span>
|
||
<span class="sd"> ----------</span>
|
||
<span class="sd"> G_sim : pysbmy.power.FourierGrid</span>
|
||
<span class="sd"> Fourier grid object containing the `k_modes` attribute.</span>
|
||
<span class="sd"> true_P : pysbmy.power.PowerSpectrum</span>
|
||
<span class="sd"> Power spectrum object containing the `powerspectrum` attribute.</span>
|
||
<span class="sd"> k_s : array-like</span>
|
||
<span class="sd"> Support points in k-space.</span>
|
||
<span class="sd"> planck_Pk : array-like</span>
|
||
<span class="sd"> Power spectrum values at the support points.</span>
|
||
<span class="sd"> Pbins : array-like</span>
|
||
<span class="sd"> Centres of the Φ bins in k-space.</span>
|
||
<span class="sd"> Pbins_bnd : array-like</span>
|
||
<span class="sd"> Boundaries of the Φ bins in k-space.</span>
|
||
<span class="sd"> size : float</span>
|
||
<span class="sd"> Box size in number of grid cells.</span>
|
||
<span class="sd"> L : float</span>
|
||
<span class="sd"> Box length in Mpc/h.</span>
|
||
<span class="sd"> wd : str</span>
|
||
<span class="sd"> Working directory path for saving the figure.</span>
|
||
<span class="sd"> title : str, optional</span>
|
||
<span class="sd"> Title for the figure. Default is None.</span>
|
||
<span class="sd"> display : bool, optional</span>
|
||
<span class="sd"> Whether to display the figure. Default is True.</span>
|
||
|
||
<span class="sd"> Returns</span>
|
||
<span class="sd"> -------</span>
|
||
<span class="sd"> None</span>
|
||
<span class="sd"> """</span>
|
||
<span class="kn">import</span> <span class="nn">os</span>
|
||
<span class="kn">from</span> <span class="nn">selfisys.utils.logger</span> <span class="kn">import</span> <span class="n">PrintInfo</span>
|
||
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">15</span><span class="p">,</span> <span class="mi">5</span><span class="p">))</span>
|
||
|
||
<span class="c1"># Plot power spectrum data</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">G_sim</span><span class="o">.</span><span class="n">k_modes</span><span class="p">,</span> <span class="n">true_P</span><span class="o">.</span><span class="n">powerspectrum</span><span class="p">,</span> <span class="n">label</span><span class="o">=</span><span class="sa">r</span><span class="s2">"$P(k)$ (over all modes)"</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">k_s</span><span class="p">,</span> <span class="n">planck_Pk</span><span class="p">,</span> <span class="n">label</span><span class="o">=</span><span class="sa">r</span><span class="s2">"$P(k)$ (binned–linear interpolation)"</span><span class="p">,</span> <span class="n">linestyle</span><span class="o">=</span><span class="s2">"dashed"</span><span class="p">)</span>
|
||
|
||
<span class="c1"># Configure axes</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="sa">r</span><span class="s2">"$k\,[h/\mathrm</span><span class="si">{Mpc}</span><span class="s2">]$"</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="sa">r</span><span class="s2">"$[{\rm Mpc}/h]^3$"</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">xscale</span><span class="p">(</span><span class="s2">"log"</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">yscale</span><span class="p">(</span><span class="s2">"log"</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">xlim</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">clip</span><span class="p">(</span><span class="n">k_s</span><span class="o">.</span><span class="n">min</span><span class="p">()</span> <span class="o">-</span> <span class="mf">2e-4</span><span class="p">,</span> <span class="mf">1e-4</span><span class="p">,</span> <span class="kc">None</span><span class="p">),</span> <span class="n">k_s</span><span class="o">.</span><span class="n">max</span><span class="p">())</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">ylim</span><span class="p">(</span><span class="mf">1e1</span><span class="p">,</span> <span class="mf">1e5</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">grid</span><span class="p">(</span><span class="n">which</span><span class="o">=</span><span class="s2">"both"</span><span class="p">,</span> <span class="n">axis</span><span class="o">=</span><span class="s2">"y"</span><span class="p">)</span>
|
||
|
||
<span class="c1"># Plot vertical lines for support points and binning</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">vlines</span><span class="p">(</span><span class="n">k_s</span><span class="p">[:</span><span class="o">-</span><span class="mi">1</span><span class="p">],</span> <span class="n">ymin</span><span class="o">=</span><span class="mf">1e1</span><span class="p">,</span> <span class="n">ymax</span><span class="o">=</span><span class="mf">1e5</span><span class="p">,</span> <span class="n">colors</span><span class="o">=</span><span class="s2">"green"</span><span class="p">,</span> <span class="n">linestyles</span><span class="o">=</span><span class="s2">"dotted"</span><span class="p">,</span> <span class="n">linewidth</span><span class="o">=</span><span class="mf">0.6</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">axvline</span><span class="p">(</span>
|
||
<span class="n">k_s</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">],</span>
|
||
<span class="n">color</span><span class="o">=</span><span class="s2">"green"</span><span class="p">,</span>
|
||
<span class="n">linestyle</span><span class="o">=</span><span class="s2">"dotted"</span><span class="p">,</span>
|
||
<span class="n">linewidth</span><span class="o">=</span><span class="mf">0.6</span><span class="p">,</span>
|
||
<span class="n">label</span><span class="o">=</span><span class="sa">r</span><span class="s2">"$\boldsymbol{\uptheta}$ support points"</span><span class="p">,</span>
|
||
<span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">vlines</span><span class="p">(</span>
|
||
<span class="n">Pbins</span><span class="p">,</span>
|
||
<span class="n">ymin</span><span class="o">=</span><span class="mf">1e1</span><span class="p">,</span>
|
||
<span class="n">ymax</span><span class="o">=</span><span class="mf">5e2</span><span class="p">,</span>
|
||
<span class="n">colors</span><span class="o">=</span><span class="s2">"red"</span><span class="p">,</span>
|
||
<span class="n">linestyles</span><span class="o">=</span><span class="s2">"dashed"</span><span class="p">,</span>
|
||
<span class="n">linewidth</span><span class="o">=</span><span class="mf">0.5</span><span class="p">,</span>
|
||
<span class="n">label</span><span class="o">=</span><span class="sa">r</span><span class="s2">"$\boldsymbol{\Phi}$ bin centres"</span><span class="p">,</span>
|
||
<span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">vlines</span><span class="p">(</span>
|
||
<span class="n">Pbins_bnd</span><span class="p">,</span>
|
||
<span class="n">ymin</span><span class="o">=</span><span class="mf">1e1</span><span class="p">,</span>
|
||
<span class="n">ymax</span><span class="o">=</span><span class="mf">1e2</span> <span class="o">/</span> <span class="mi">2</span><span class="p">,</span>
|
||
<span class="n">colors</span><span class="o">=</span><span class="s2">"blue"</span><span class="p">,</span>
|
||
<span class="n">linestyles</span><span class="o">=</span><span class="s2">"dashed"</span><span class="p">,</span>
|
||
<span class="n">linewidth</span><span class="o">=</span><span class="mf">0.5</span><span class="p">,</span>
|
||
<span class="n">label</span><span class="o">=</span><span class="sa">r</span><span class="s2">"$\boldsymbol{\Phi}$ bin boundaries"</span><span class="p">,</span>
|
||
<span class="p">)</span>
|
||
|
||
<span class="c1"># Plot the Nyquist frequency</span>
|
||
<span class="n">nyquist_freq</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">pi</span> <span class="o">*</span> <span class="n">size</span> <span class="o">/</span> <span class="n">L</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">axvline</span><span class="p">(</span>
|
||
<span class="n">nyquist_freq</span><span class="p">,</span> <span class="n">ymax</span><span class="o">=</span><span class="mi">1</span> <span class="o">/</span> <span class="mf">6.0</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s2">"orange"</span><span class="p">,</span> <span class="n">linestyle</span><span class="o">=</span><span class="s2">"-"</span><span class="p">,</span> <span class="n">linewidth</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span> <span class="n">label</span><span class="o">=</span><span class="s2">"Nyquist"</span>
|
||
<span class="p">)</span>
|
||
|
||
<span class="c1"># Add legend, optional title, and save the figure</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">legend</span><span class="p">(</span><span class="n">loc</span><span class="o">=</span><span class="s2">"upper center"</span><span class="p">,</span> <span class="n">bbox_to_anchor</span><span class="o">=</span><span class="p">(</span><span class="mf">0.5</span><span class="p">,</span> <span class="o">-</span><span class="mf">0.2</span><span class="p">),</span> <span class="n">ncol</span><span class="o">=</span><span class="mi">3</span><span class="p">)</span>
|
||
<span class="k">if</span> <span class="n">title</span><span class="p">:</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="n">title</span><span class="p">)</span>
|
||
<span class="n">output_dir</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">wd</span><span class="p">,</span> <span class="s2">"Figures"</span><span class="p">)</span>
|
||
<span class="n">os</span><span class="o">.</span><span class="n">makedirs</span><span class="p">(</span><span class="n">output_dir</span><span class="p">,</span> <span class="n">exist_ok</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
||
<span class="n">output_path</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">output_dir</span><span class="p">,</span> <span class="s2">"summary.pdf"</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">savefig</span><span class="p">(</span><span class="n">output_path</span><span class="p">,</span> <span class="n">bbox_inches</span><span class="o">=</span><span class="s2">"tight"</span><span class="p">)</span>
|
||
<span class="n">PrintInfo</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Figure saved to: </span><span class="si">{</span><span class="n">output_path</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
||
|
||
<span class="k">if</span> <span class="n">display</span><span class="p">:</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">close</span><span class="p">()</span></div>
|
||
|
||
|
||
|
||
<div class="viewcode-block" id="relative_error_analysis">
|
||
<a class="viewcode-back" href="../../../selfisys.utils.html#selfisys.utils.plot_examples.relative_error_analysis">[docs]</a>
|
||
<span class="k">def</span> <span class="nf">relative_error_analysis</span><span class="p">(</span>
|
||
<span class="n">G_sim</span><span class="p">,</span> <span class="n">true_P</span><span class="p">,</span> <span class="n">k_s</span><span class="p">,</span> <span class="n">planck_Pk</span><span class="p">,</span> <span class="n">Pbins</span><span class="p">,</span> <span class="n">Pbins_bnd</span><span class="p">,</span> <span class="n">size</span><span class="p">,</span> <span class="n">L</span><span class="p">,</span> <span class="n">wd</span><span class="p">,</span> <span class="n">display</span><span class="o">=</span><span class="kc">True</span>
|
||
<span class="p">):</span>
|
||
<span class="w"> </span><span class="sd">"""</span>
|
||
<span class="sd"> Compute and plot the relative error between the interpolated and</span>
|
||
<span class="sd"> true power spectra.</span>
|
||
|
||
<span class="sd"> Parameters</span>
|
||
<span class="sd"> ----------</span>
|
||
<span class="sd"> G_sim : pysbmy.power.FourierGrid</span>
|
||
<span class="sd"> Fourier grid object containing the `k_modes` attribute.</span>
|
||
<span class="sd"> true_P : pysbmy.power.PowerSpectrum</span>
|
||
<span class="sd"> Power spectrum object containing the `powerspectrum` attribute.</span>
|
||
<span class="sd"> k_s : array-like</span>
|
||
<span class="sd"> Support points in k-space.</span>
|
||
<span class="sd"> planck_Pk : array-like</span>
|
||
<span class="sd"> Power spectrum values at the support points.</span>
|
||
<span class="sd"> Pbins : array-like</span>
|
||
<span class="sd"> Centres of the Φ bins in k-space.</span>
|
||
<span class="sd"> Pbins_bnd : array-like</span>
|
||
<span class="sd"> Boundaries of the Φ bins in k-space.</span>
|
||
<span class="sd"> size : float</span>
|
||
<span class="sd"> Box size in number of grid cells.</span>
|
||
<span class="sd"> L : float</span>
|
||
<span class="sd"> Box length in Mpc/h.</span>
|
||
<span class="sd"> wd : str</span>
|
||
<span class="sd"> Working directory path for saving the figure.</span>
|
||
<span class="sd"> display : bool, optional</span>
|
||
<span class="sd"> Whether to display the figure. Default is True.</span>
|
||
|
||
<span class="sd"> Returns</span>
|
||
<span class="sd"> -------</span>
|
||
<span class="sd"> None</span>
|
||
<span class="sd"> """</span>
|
||
<span class="kn">import</span> <span class="nn">os</span>
|
||
<span class="kn">from</span> <span class="nn">scipy.interpolate</span> <span class="kn">import</span> <span class="n">InterpolatedUnivariateSpline</span>
|
||
<span class="kn">from</span> <span class="nn">selfisys.utils.logger</span> <span class="kn">import</span> <span class="n">PrintInfo</span>
|
||
|
||
<span class="c1"># Interpolate the power spectrum</span>
|
||
<span class="n">spline</span> <span class="o">=</span> <span class="n">InterpolatedUnivariateSpline</span><span class="p">(</span><span class="n">k_s</span><span class="p">,</span> <span class="n">planck_Pk</span><span class="p">,</span> <span class="n">k</span><span class="o">=</span><span class="mi">5</span><span class="p">)</span>
|
||
<span class="n">rec_Pk</span> <span class="o">=</span> <span class="n">spline</span><span class="p">(</span><span class="n">G_sim</span><span class="o">.</span><span class="n">k_modes</span><span class="p">[</span><span class="mi">1</span><span class="p">:])</span>
|
||
<span class="n">true_spectrum</span> <span class="o">=</span> <span class="n">true_P</span><span class="o">.</span><span class="n">powerspectrum</span><span class="p">[</span><span class="mi">1</span><span class="p">:]</span>
|
||
<span class="n">xx</span> <span class="o">=</span> <span class="n">G_sim</span><span class="o">.</span><span class="n">k_modes</span><span class="p">[</span><span class="mi">1</span><span class="p">:]</span>
|
||
|
||
<span class="c1"># Compute relative errors</span>
|
||
<span class="n">rel_err</span> <span class="o">=</span> <span class="p">(</span><span class="n">rec_Pk</span> <span class="o">-</span> <span class="n">true_spectrum</span><span class="p">)</span> <span class="o">/</span> <span class="n">true_spectrum</span>
|
||
<span class="n">indices_all</span> <span class="o">=</span> <span class="nb">slice</span><span class="p">(</span><span class="kc">None</span><span class="p">)</span>
|
||
<span class="n">indices_nyquist</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">where</span><span class="p">((</span><span class="n">xx</span> <span class="o">>=</span> <span class="n">k_s</span><span class="o">.</span><span class="n">min</span><span class="p">())</span> <span class="o">&</span> <span class="p">(</span><span class="n">xx</span> <span class="o"><=</span> <span class="n">np</span><span class="o">.</span><span class="n">pi</span> <span class="o">*</span> <span class="n">size</span> <span class="o">/</span> <span class="n">L</span><span class="p">))[</span><span class="mi">0</span><span class="p">]</span>
|
||
<span class="n">indices_k2e1</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">where</span><span class="p">(</span><span class="n">xx</span> <span class="o"><=</span> <span class="mf">2e-1</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
|
||
|
||
<span class="n">max_relerr</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">abs</span><span class="p">(</span><span class="n">rel_err</span><span class="p">[</span><span class="n">indices_all</span><span class="p">]))</span>
|
||
<span class="n">max_relerr_nyquist</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">abs</span><span class="p">(</span><span class="n">rel_err</span><span class="p">[</span><span class="n">indices_nyquist</span><span class="p">]))</span>
|
||
<span class="n">max_relerr_2e1</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">abs</span><span class="p">(</span><span class="n">rel_err</span><span class="p">[</span><span class="n">indices_k2e1</span><span class="p">]))</span>
|
||
|
||
<span class="c1"># Create the figure</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">15</span><span class="p">,</span> <span class="mi">5</span><span class="p">))</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span>
|
||
<span class="n">xx</span><span class="p">,</span>
|
||
<span class="n">rel_err</span><span class="p">,</span>
|
||
<span class="n">label</span><span class="o">=</span><span class="sa">r</span><span class="s2">"$\left(P_\textrm</span><span class="si">{interp}</span><span class="s2">-P_{\mathrm</span><span class="si">{true}</span><span class="s2">}\right)/P_{\mathrm</span><span class="si">{true}</span><span class="s2">}$"</span><span class="p">,</span>
|
||
<span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="sa">r</span><span class="s2">"$k\,[h/\mathrm</span><span class="si">{Mpc}</span><span class="s2">]$"</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s2">"Relative error"</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">xscale</span><span class="p">(</span><span class="s2">"log"</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">xlim</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">clip</span><span class="p">(</span><span class="n">k_s</span><span class="o">.</span><span class="n">min</span><span class="p">()</span> <span class="o">-</span> <span class="mf">2e-4</span><span class="p">,</span> <span class="mf">1e-4</span><span class="p">,</span> <span class="kc">None</span><span class="p">),</span> <span class="n">k_s</span><span class="o">.</span><span class="n">max</span><span class="p">())</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">ylim</span><span class="p">(</span><span class="o">-</span><span class="mf">0.1</span><span class="p">,</span> <span class="mf">0.1</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">grid</span><span class="p">(</span><span class="n">which</span><span class="o">=</span><span class="s2">"both"</span><span class="p">,</span> <span class="n">axis</span><span class="o">=</span><span class="s2">"y"</span><span class="p">)</span>
|
||
|
||
<span class="c1"># Vertical lines for binning and support points</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">axvline</span><span class="p">(</span>
|
||
<span class="n">x</span><span class="o">=</span><span class="n">Pbins</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span>
|
||
<span class="n">color</span><span class="o">=</span><span class="s2">"red"</span><span class="p">,</span>
|
||
<span class="n">linestyle</span><span class="o">=</span><span class="s2">"dashed"</span><span class="p">,</span>
|
||
<span class="n">linewidth</span><span class="o">=</span><span class="mf">0.5</span><span class="p">,</span>
|
||
<span class="n">label</span><span class="o">=</span><span class="sa">r</span><span class="s2">"$\boldsymbol\Phi$ bin centres"</span><span class="p">,</span>
|
||
<span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">axvline</span><span class="p">(</span><span class="n">x</span><span class="o">=</span><span class="n">Pbins</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">],</span> <span class="n">color</span><span class="o">=</span><span class="s2">"red"</span><span class="p">,</span> <span class="n">linestyle</span><span class="o">=</span><span class="s2">"dashed"</span><span class="p">,</span> <span class="n">linewidth</span><span class="o">=</span><span class="mf">0.5</span><span class="p">)</span>
|
||
<span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">Pbins</span><span class="p">[</span><span class="mi">1</span><span class="p">:</span><span class="o">-</span><span class="mi">1</span><span class="p">]:</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">axvline</span><span class="p">(</span><span class="n">x</span><span class="o">=</span><span class="n">k</span><span class="p">,</span> <span class="n">ymax</span><span class="o">=</span><span class="mi">1</span> <span class="o">/</span> <span class="mf">6.0</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s2">"red"</span><span class="p">,</span> <span class="n">linestyle</span><span class="o">=</span><span class="s2">"dashed"</span><span class="p">,</span> <span class="n">linewidth</span><span class="o">=</span><span class="mf">0.5</span><span class="p">)</span>
|
||
<span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">k_s</span><span class="p">[:</span><span class="o">-</span><span class="mi">1</span><span class="p">]:</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">axvline</span><span class="p">(</span><span class="n">x</span><span class="o">=</span><span class="n">k</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s2">"green"</span><span class="p">,</span> <span class="n">linestyle</span><span class="o">=</span><span class="s2">"dotted"</span><span class="p">,</span> <span class="n">linewidth</span><span class="o">=</span><span class="mf">0.6</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">axvline</span><span class="p">(</span>
|
||
<span class="n">x</span><span class="o">=</span><span class="n">k_s</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">],</span>
|
||
<span class="n">color</span><span class="o">=</span><span class="s2">"green"</span><span class="p">,</span>
|
||
<span class="n">linestyle</span><span class="o">=</span><span class="s2">"dotted"</span><span class="p">,</span>
|
||
<span class="n">linewidth</span><span class="o">=</span><span class="mf">0.6</span><span class="p">,</span>
|
||
<span class="n">label</span><span class="o">=</span><span class="sa">r</span><span class="s2">"$\boldsymbol\uptheta$ support points"</span><span class="p">,</span>
|
||
<span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">axvline</span><span class="p">(</span>
|
||
<span class="n">x</span><span class="o">=</span><span class="n">Pbins_bnd</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span>
|
||
<span class="n">ymax</span><span class="o">=</span><span class="mi">1</span> <span class="o">/</span> <span class="mf">3.0</span><span class="p">,</span>
|
||
<span class="n">color</span><span class="o">=</span><span class="s2">"blue"</span><span class="p">,</span>
|
||
<span class="n">linestyle</span><span class="o">=</span><span class="s2">"dashed"</span><span class="p">,</span>
|
||
<span class="n">linewidth</span><span class="o">=</span><span class="mf">0.5</span><span class="p">,</span>
|
||
<span class="n">label</span><span class="o">=</span><span class="sa">r</span><span class="s2">"$\boldsymbol\Phi$ bin boundaries"</span><span class="p">,</span>
|
||
<span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">axvline</span><span class="p">(</span><span class="n">x</span><span class="o">=</span><span class="n">Pbins_bnd</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">],</span> <span class="n">ymax</span><span class="o">=</span><span class="mi">1</span> <span class="o">/</span> <span class="mf">3.0</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s2">"blue"</span><span class="p">,</span> <span class="n">linestyle</span><span class="o">=</span><span class="s2">"dashed"</span><span class="p">,</span> <span class="n">linewidth</span><span class="o">=</span><span class="mf">0.5</span><span class="p">)</span>
|
||
<span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">Pbins_bnd</span><span class="p">[</span><span class="mi">1</span><span class="p">:</span><span class="o">-</span><span class="mi">1</span><span class="p">]:</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">axvline</span><span class="p">(</span><span class="n">x</span><span class="o">=</span><span class="n">k</span><span class="p">,</span> <span class="n">ymax</span><span class="o">=</span><span class="mi">1</span> <span class="o">/</span> <span class="mf">12.0</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s2">"blue"</span><span class="p">,</span> <span class="n">linestyle</span><span class="o">=</span><span class="s2">"dashed"</span><span class="p">,</span> <span class="n">linewidth</span><span class="o">=</span><span class="mf">0.5</span><span class="p">)</span>
|
||
|
||
<span class="c1"># Nyquist and fundamental frequencies</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">axvline</span><span class="p">(</span>
|
||
<span class="n">x</span><span class="o">=</span><span class="mi">2</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">pi</span> <span class="o">/</span> <span class="n">L</span><span class="p">,</span>
|
||
<span class="n">ymax</span><span class="o">=</span><span class="mi">1</span> <span class="o">/</span> <span class="mf">6.0</span><span class="p">,</span>
|
||
<span class="n">color</span><span class="o">=</span><span class="s2">"orange"</span><span class="p">,</span>
|
||
<span class="n">linestyle</span><span class="o">=</span><span class="s2">"-"</span><span class="p">,</span>
|
||
<span class="n">linewidth</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span>
|
||
<span class="n">label</span><span class="o">=</span><span class="s2">"Fundamental mode"</span><span class="p">,</span>
|
||
<span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">axvline</span><span class="p">(</span>
|
||
<span class="n">x</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">pi</span> <span class="o">*</span> <span class="n">size</span> <span class="o">/</span> <span class="n">L</span><span class="p">,</span>
|
||
<span class="n">ymax</span><span class="o">=</span><span class="mi">1</span> <span class="o">/</span> <span class="mf">6.0</span><span class="p">,</span>
|
||
<span class="n">color</span><span class="o">=</span><span class="s2">"orange"</span><span class="p">,</span>
|
||
<span class="n">linestyle</span><span class="o">=</span><span class="s2">"--"</span><span class="p">,</span>
|
||
<span class="n">linewidth</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span>
|
||
<span class="n">label</span><span class="o">=</span><span class="s2">"Nyquist"</span><span class="p">,</span>
|
||
<span class="p">)</span>
|
||
|
||
<span class="c1"># Add title, legend, and save the figure</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">legend</span><span class="p">(</span><span class="n">loc</span><span class="o">=</span><span class="s2">"upper center"</span><span class="p">,</span> <span class="n">bbox_to_anchor</span><span class="o">=</span><span class="p">(</span><span class="mf">0.5</span><span class="p">,</span> <span class="o">-</span><span class="mf">0.2</span><span class="p">),</span> <span class="n">ncol</span><span class="o">=</span><span class="mi">3</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span>
|
||
<span class="s2">"Relative error between interpolated and true Planck 2018 power spectrum</span><span class="se">\n</span><span class="s2">"</span>
|
||
<span class="sa">f</span><span class="s2">"over the </span><span class="si">{</span><span class="n">G_sim</span><span class="o">.</span><span class="n">k_modes</span><span class="o">.</span><span class="n">size</span><span class="si">}</span><span class="s2"> modes of the Fourier grid (max: </span><span class="si">{</span><span class="n">max_relerr</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="mi">100</span><span class="si">:</span><span class="s2">.3f</span><span class="si">}</span><span class="se">\\</span><span class="s2">%)"</span>
|
||
<span class="p">)</span>
|
||
<span class="n">output_dir</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">wd</span><span class="p">,</span> <span class="s2">"Figures"</span><span class="p">)</span>
|
||
<span class="n">os</span><span class="o">.</span><span class="n">makedirs</span><span class="p">(</span><span class="n">output_dir</span><span class="p">,</span> <span class="n">exist_ok</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
||
<span class="n">output_path</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">output_dir</span><span class="p">,</span> <span class="s2">"summary_relerr.pdf"</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">savefig</span><span class="p">(</span><span class="n">output_path</span><span class="p">,</span> <span class="n">bbox_inches</span><span class="o">=</span><span class="s2">"tight"</span><span class="p">)</span>
|
||
<span class="n">PrintInfo</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Figure saved to: </span><span class="si">{</span><span class="n">output_path</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
||
|
||
<span class="c1"># Print summary of relative errors</span>
|
||
<span class="n">PrintInfo</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Max relative error over all support points: </span><span class="si">{</span><span class="n">max_relerr</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="mi">100</span><span class="si">:</span><span class="s2">.3f</span><span class="si">}</span><span class="s2">%"</span><span class="p">)</span>
|
||
<span class="n">PrintInfo</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Max relative error up to 1D Nyquist frequency: </span><span class="si">{</span><span class="n">max_relerr_nyquist</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="mi">100</span><span class="si">:</span><span class="s2">.3f</span><span class="si">}</span><span class="s2">%"</span><span class="p">)</span>
|
||
<span class="n">PrintInfo</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Max relative error up to k = 2e-1: </span><span class="si">{</span><span class="n">max_relerr_2e1</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="mi">100</span><span class="si">:</span><span class="s2">.3f</span><span class="si">}</span><span class="s2">%"</span><span class="p">)</span>
|
||
|
||
<span class="k">if</span> <span class="n">display</span><span class="p">:</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">close</span><span class="p">()</span></div>
|
||
|
||
|
||
|
||
<div class="viewcode-block" id="plot_comoving_distance_redshift">
|
||
<a class="viewcode-back" href="../../../selfisys.utils.html#selfisys.utils.plot_examples.plot_comoving_distance_redshift">[docs]</a>
|
||
<span class="k">def</span> <span class="nf">plot_comoving_distance_redshift</span><span class="p">(</span>
|
||
<span class="n">zz</span><span class="p">,</span> <span class="n">cosmo</span><span class="p">,</span> <span class="n">means_com</span><span class="p">,</span> <span class="n">L</span><span class="p">,</span> <span class="n">Lcorner</span><span class="p">,</span> <span class="n">wd</span><span class="p">,</span> <span class="n">colours_list</span><span class="o">=</span><span class="n">COLOUR_LIST</span><span class="p">,</span> <span class="n">display</span><span class="o">=</span><span class="kc">True</span>
|
||
<span class="p">):</span>
|
||
<span class="w"> </span><span class="sd">"""</span>
|
||
<span class="sd"> Plot comoving distance as a function of redshift, highlighting key</span>
|
||
<span class="sd"> scales.</span>
|
||
|
||
<span class="sd"> Parameters</span>
|
||
<span class="sd"> ----------</span>
|
||
<span class="sd"> zz : array-like</span>
|
||
<span class="sd"> Redshift range for the plot.</span>
|
||
<span class="sd"> cosmo : astropy.cosmology object</span>
|
||
<span class="sd"> Cosmology instance for calculating comoving distances.</span>
|
||
<span class="sd"> means_com : array-like</span>
|
||
<span class="sd"> Mean comoving distances of selection functions.</span>
|
||
<span class="sd"> L : float</span>
|
||
<span class="sd"> Box side length in Gpc/h.</span>
|
||
<span class="sd"> Lcorner : float</span>
|
||
<span class="sd"> Diagonal of the box (sqrt(3) * L) in Gpc/h.</span>
|
||
<span class="sd"> wd : str</span>
|
||
<span class="sd"> Working directory for saving figures.</span>
|
||
<span class="sd"> colours_list : list</span>
|
||
<span class="sd"> List of colours for selection function annotations.</span>
|
||
<span class="sd"> display : bool, optional</span>
|
||
<span class="sd"> Whether to display the figure. Default is True.</span>
|
||
<span class="sd"> """</span>
|
||
<span class="n">d</span> <span class="o">=</span> <span class="n">cosmo</span><span class="o">.</span><span class="n">comoving_distance</span><span class="p">(</span><span class="n">zz</span><span class="p">)</span> <span class="o">/</span> <span class="mf">1e3</span> <span class="c1"># Convert to Gpc/h</span>
|
||
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">12</span><span class="p">,</span> <span class="mf">5.2</span><span class="p">))</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">zz</span><span class="p">,</span> <span class="n">d</span><span class="p">,</span> <span class="n">label</span><span class="o">=</span><span class="s2">"Comoving distance"</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">axhline</span><span class="p">(</span>
|
||
<span class="n">L</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s2">"black"</span><span class="p">,</span> <span class="n">linewidth</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">linestyle</span><span class="o">=</span><span class="s2">"--"</span><span class="p">,</span> <span class="n">label</span><span class="o">=</span><span class="sa">rf</span><span class="s2">"$L = </span><span class="si">{</span><span class="n">L</span><span class="si">:</span><span class="s2">.2f</span><span class="si">}</span><span class="s2">\textrm</span><span class="se">{{</span><span class="s2"> Gpc</span><span class="se">}}</span><span class="s2">/h$"</span>
|
||
<span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">axhline</span><span class="p">(</span>
|
||
<span class="n">Lcorner</span><span class="p">,</span>
|
||
<span class="n">color</span><span class="o">=</span><span class="s2">"orange"</span><span class="p">,</span>
|
||
<span class="n">linewidth</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span>
|
||
<span class="n">linestyle</span><span class="o">=</span><span class="s2">"--"</span><span class="p">,</span>
|
||
<span class="n">label</span><span class="o">=</span><span class="sa">rf</span><span class="s2">"$L_\textrm</span><span class="se">{{</span><span class="s2">corner</span><span class="se">}}</span><span class="s2"> = </span><span class="si">{</span><span class="n">Lcorner</span><span class="si">:</span><span class="s2">.2f</span><span class="si">}</span><span class="s2">\textrm</span><span class="se">{{</span><span class="s2"> Gpc</span><span class="se">}}</span><span class="s2">/h$"</span><span class="p">,</span>
|
||
<span class="p">)</span>
|
||
|
||
<span class="c1"># Annotate key redshifts</span>
|
||
<span class="n">d_np</span> <span class="o">=</span> <span class="n">d</span><span class="o">.</span><span class="n">value</span>
|
||
<span class="n">z_L</span> <span class="o">=</span> <span class="n">zz</span><span class="p">[</span><span class="n">np</span><span class="o">.</span><span class="n">argmin</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">abs</span><span class="p">(</span><span class="n">d_np</span> <span class="o">-</span> <span class="n">L</span><span class="p">))]</span>
|
||
<span class="n">z_corner</span> <span class="o">=</span> <span class="n">zz</span><span class="p">[</span><span class="n">np</span><span class="o">.</span><span class="n">argmin</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">abs</span><span class="p">(</span><span class="n">d_np</span> <span class="o">-</span> <span class="n">Lcorner</span><span class="p">))]</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">axvline</span><span class="p">(</span><span class="n">z_L</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s2">"black"</span><span class="p">,</span> <span class="n">linewidth</span><span class="o">=</span><span class="mf">0.5</span><span class="p">,</span> <span class="n">alpha</span><span class="o">=</span><span class="mf">0.5</span><span class="p">,</span> <span class="n">linestyle</span><span class="o">=</span><span class="s2">"-"</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">axvline</span><span class="p">(</span><span class="n">z_corner</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s2">"orange"</span><span class="p">,</span> <span class="n">linewidth</span><span class="o">=</span><span class="mf">0.5</span><span class="p">,</span> <span class="n">alpha</span><span class="o">=</span><span class="mf">0.5</span><span class="p">,</span> <span class="n">linestyle</span><span class="o">=</span><span class="s2">"-"</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="n">z_L</span><span class="p">,</span> <span class="mf">1.07</span> <span class="o">*</span> <span class="n">d_np</span><span class="o">.</span><span class="n">max</span><span class="p">(),</span> <span class="sa">rf</span><span class="s2">"$z(L) = </span><span class="si">{</span><span class="n">z_L</span><span class="si">:</span><span class="s2">.2f</span><span class="si">}</span><span class="s2">$"</span><span class="p">,</span> <span class="n">fontsize</span><span class="o">=</span><span class="n">GLOBAL_FS_TINY</span> <span class="o">-</span> <span class="mi">2</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">text</span><span class="p">(</span>
|
||
<span class="n">z_corner</span><span class="p">,</span>
|
||
<span class="mf">1.07</span> <span class="o">*</span> <span class="n">d_np</span><span class="o">.</span><span class="n">max</span><span class="p">(),</span>
|
||
<span class="sa">rf</span><span class="s2">"$z(\sqrt</span><span class="se">{{</span><span class="s2">3</span><span class="se">}}</span><span class="s2">\,L) = </span><span class="si">{</span><span class="n">z_corner</span><span class="si">:</span><span class="s2">.2f</span><span class="si">}</span><span class="s2">$"</span><span class="p">,</span>
|
||
<span class="n">fontsize</span><span class="o">=</span><span class="n">GLOBAL_FS_TINY</span> <span class="o">-</span> <span class="mi">2</span><span class="p">,</span>
|
||
<span class="p">)</span>
|
||
|
||
<span class="c1"># Annotate the selection functions' means</span>
|
||
<span class="n">z_means</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">([</span><span class="n">zz</span><span class="p">[</span><span class="n">np</span><span class="o">.</span><span class="n">argmin</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">abs</span><span class="p">(</span><span class="n">d_np</span> <span class="o">-</span> <span class="n">m</span><span class="p">))]</span> <span class="k">for</span> <span class="n">m</span> <span class="ow">in</span> <span class="n">means_com</span><span class="p">])</span>
|
||
<span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">z_mean</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">z_means</span><span class="p">):</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">axvline</span><span class="p">(</span><span class="n">z_mean</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="n">colours_list</span><span class="p">[</span><span class="n">i</span><span class="p">],</span> <span class="n">linestyle</span><span class="o">=</span><span class="s2">"--"</span><span class="p">,</span> <span class="n">linewidth</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">text</span><span class="p">(</span>
|
||
<span class="n">z_mean</span> <span class="o">-</span> <span class="mf">0.07</span><span class="p">,</span>
|
||
<span class="n">L</span> <span class="o">+</span> <span class="mf">0.2</span><span class="p">,</span>
|
||
<span class="sa">rf</span><span class="s2">"$z(\mu_</span><span class="se">{{</span><span class="si">{</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="si">}</span><span class="se">}}</span><span class="s2"> = </span><span class="si">{</span><span class="n">means_com</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="si">:</span><span class="s2">.2f</span><span class="si">}</span><span class="s2">) = </span><span class="si">{</span><span class="n">z_mean</span><span class="si">:</span><span class="s2">.2f</span><span class="si">}</span><span class="s2">$"</span><span class="p">,</span>
|
||
<span class="n">fontsize</span><span class="o">=</span><span class="n">GLOBAL_FS_TINY</span> <span class="o">-</span> <span class="mi">2</span><span class="p">,</span>
|
||
<span class="n">rotation</span><span class="o">=</span><span class="mi">90</span><span class="p">,</span>
|
||
<span class="p">)</span>
|
||
|
||
<span class="c1"># Add labels, legend, and save the figure</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s2">"Redshift $z$"</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="sa">r</span><span class="s2">"Comoving distance [Gpc$/h$]"</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">grid</span><span class="p">(</span><span class="n">which</span><span class="o">=</span><span class="s2">"both"</span><span class="p">,</span> <span class="n">axis</span><span class="o">=</span><span class="s2">"both"</span><span class="p">,</span> <span class="n">linestyle</span><span class="o">=</span><span class="s2">"-"</span><span class="p">,</span> <span class="n">linewidth</span><span class="o">=</span><span class="mf">0.3</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s2">"gray"</span><span class="p">,</span> <span class="n">alpha</span><span class="o">=</span><span class="mf">0.5</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">legend</span><span class="p">()</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">tight_layout</span><span class="p">()</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">savefig</span><span class="p">(</span><span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">wd</span><span class="si">}</span><span class="s2">selection_functions_z.pdf"</span><span class="p">,</span> <span class="n">bbox_inches</span><span class="o">=</span><span class="s2">"tight"</span><span class="p">,</span> <span class="n">dpi</span><span class="o">=</span><span class="mi">300</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">savefig</span><span class="p">(</span><span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">wd</span><span class="si">}</span><span class="s2">selection_functions_z.png"</span><span class="p">,</span> <span class="n">bbox_inches</span><span class="o">=</span><span class="s2">"tight"</span><span class="p">,</span> <span class="n">dpi</span><span class="o">=</span><span class="mi">300</span><span class="p">,</span> <span class="n">transparent</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
||
<span class="k">if</span> <span class="n">display</span><span class="p">:</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">close</span><span class="p">()</span></div>
|
||
|
||
|
||
|
||
<div class="viewcode-block" id="redshift_distance_conversion">
|
||
<a class="viewcode-back" href="../../../selfisys.utils.html#selfisys.utils.plot_examples.redshift_distance_conversion">[docs]</a>
|
||
<span class="k">def</span> <span class="nf">redshift_distance_conversion</span><span class="p">(</span>
|
||
<span class="n">zz</span><span class="p">,</span> <span class="n">cosmo</span><span class="p">,</span> <span class="n">means_com</span><span class="p">,</span> <span class="n">L</span><span class="p">,</span> <span class="n">Lcorner</span><span class="p">,</span> <span class="n">xx</span><span class="p">,</span> <span class="n">wd</span><span class="p">,</span> <span class="n">colours_list</span><span class="o">=</span><span class="n">COLOUR_LIST</span><span class="p">,</span> <span class="n">display</span><span class="o">=</span><span class="kc">True</span>
|
||
<span class="p">):</span>
|
||
<span class="w"> </span><span class="sd">"""</span>
|
||
<span class="sd"> Plot the conversion between comoving distance and redshift; return</span>
|
||
<span class="sd"> the redshifts corresponding to the selection functions' means.</span>
|
||
|
||
<span class="sd"> Parameters</span>
|
||
<span class="sd"> ----------</span>
|
||
<span class="sd"> zz : array-like</span>
|
||
<span class="sd"> Redshift range for the plot.</span>
|
||
<span class="sd"> cosmo : astropy.cosmology object</span>
|
||
<span class="sd"> Cosmology instance for calculating comoving distances.</span>
|
||
<span class="sd"> means_com : array-like</span>
|
||
<span class="sd"> Mean comoving distances of selection functions.</span>
|
||
<span class="sd"> L : float</span>
|
||
<span class="sd"> Box side length in Gpc/h.</span>
|
||
<span class="sd"> Lcorner : float</span>
|
||
<span class="sd"> Diagonal of the box (sqrt(3) * L) in Gpc/h.</span>
|
||
<span class="sd"> xx : array-like</span>
|
||
<span class="sd"> Comoving distances at which to compute redshift.</span>
|
||
<span class="sd"> wd : str</span>
|
||
<span class="sd"> Working directory for saving figures.</span>
|
||
<span class="sd"> colours_list : list</span>
|
||
<span class="sd"> List of colours for selection function annotations.</span>
|
||
<span class="sd"> display : bool, optional</span>
|
||
<span class="sd"> Whether to display the figure. Default is True.</span>
|
||
|
||
<span class="sd"> Returns</span>
|
||
<span class="sd"> -------</span>
|
||
<span class="sd"> spline : scipy.interpolate.UnivariateSpline</span>
|
||
<span class="sd"> Linear interpolator to convert comoving distances to redshifts.</span>
|
||
<span class="sd"> """</span>
|
||
<span class="kn">from</span> <span class="nn">scipy.interpolate</span> <span class="kn">import</span> <span class="n">UnivariateSpline</span>
|
||
|
||
<span class="c1"># Convert comoving distances to redshifts using a linear interpolation</span>
|
||
<span class="n">d_np</span> <span class="o">=</span> <span class="p">(</span><span class="n">cosmo</span><span class="o">.</span><span class="n">comoving_distance</span><span class="p">(</span><span class="n">zz</span><span class="p">)</span> <span class="o">/</span> <span class="mf">1e3</span><span class="p">)</span><span class="o">.</span><span class="n">value</span> <span class="c1"># Gpc/h</span>
|
||
<span class="n">spline</span> <span class="o">=</span> <span class="n">UnivariateSpline</span><span class="p">(</span><span class="n">d_np</span><span class="p">,</span> <span class="n">zz</span><span class="p">,</span> <span class="n">k</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">s</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
|
||
<span class="n">z_x</span> <span class="o">=</span> <span class="n">spline</span><span class="p">(</span><span class="n">xx</span><span class="p">)</span>
|
||
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">12</span><span class="p">,</span> <span class="mi">5</span><span class="p">))</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">xx</span><span class="p">,</span> <span class="n">z_x</span><span class="p">)</span>
|
||
|
||
<span class="c1"># Annotate key scales</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">axvline</span><span class="p">(</span>
|
||
<span class="n">L</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s2">"black"</span><span class="p">,</span> <span class="n">linewidth</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">linestyle</span><span class="o">=</span><span class="s2">"--"</span><span class="p">,</span> <span class="n">label</span><span class="o">=</span><span class="sa">rf</span><span class="s2">"$L = </span><span class="si">{</span><span class="n">L</span><span class="si">:</span><span class="s2">.2f</span><span class="si">}</span><span class="s2">\textrm</span><span class="se">{{</span><span class="s2"> Gpc</span><span class="se">}}</span><span class="s2">/h$"</span>
|
||
<span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">axhline</span><span class="p">(</span><span class="n">spline</span><span class="p">(</span><span class="n">L</span><span class="p">),</span> <span class="n">color</span><span class="o">=</span><span class="s2">"black"</span><span class="p">,</span> <span class="n">linewidth</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">linestyle</span><span class="o">=</span><span class="s2">"--"</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">axvline</span><span class="p">(</span>
|
||
<span class="n">Lcorner</span><span class="p">,</span>
|
||
<span class="n">color</span><span class="o">=</span><span class="s2">"orange"</span><span class="p">,</span>
|
||
<span class="n">linewidth</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span>
|
||
<span class="n">linestyle</span><span class="o">=</span><span class="s2">"--"</span><span class="p">,</span>
|
||
<span class="n">label</span><span class="o">=</span><span class="sa">rf</span><span class="s2">"$L_\textrm</span><span class="se">{{</span><span class="s2">corner</span><span class="se">}}</span><span class="s2"> = </span><span class="si">{</span><span class="n">Lcorner</span><span class="si">:</span><span class="s2">.2f</span><span class="si">}</span><span class="s2">\textrm</span><span class="se">{{</span><span class="s2"> Gpc</span><span class="se">}}</span><span class="s2">/h$"</span><span class="p">,</span>
|
||
<span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">axhline</span><span class="p">(</span><span class="n">spline</span><span class="p">(</span><span class="n">Lcorner</span><span class="p">),</span> <span class="n">color</span><span class="o">=</span><span class="s2">"orange"</span><span class="p">,</span> <span class="n">linewidth</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">linestyle</span><span class="o">=</span><span class="s2">"--"</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="n">L</span> <span class="o">+</span> <span class="mf">0.08</span><span class="p">,</span> <span class="n">spline</span><span class="p">(</span><span class="n">L</span><span class="p">)</span> <span class="o">-</span> <span class="mf">0.14</span><span class="p">,</span> <span class="sa">rf</span><span class="s2">"$z(L) = </span><span class="si">{</span><span class="n">spline</span><span class="p">(</span><span class="n">L</span><span class="p">)</span><span class="si">:</span><span class="s2">.2f</span><span class="si">}</span><span class="s2">$"</span><span class="p">,</span> <span class="n">fontsize</span><span class="o">=</span><span class="n">GLOBAL_FS_TINY</span> <span class="o">-</span> <span class="mi">2</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">text</span><span class="p">(</span>
|
||
<span class="n">Lcorner</span> <span class="o">-</span> <span class="mf">1.2</span><span class="p">,</span>
|
||
<span class="n">spline</span><span class="p">(</span><span class="n">Lcorner</span><span class="p">)</span> <span class="o">-</span> <span class="mf">0.17</span><span class="p">,</span>
|
||
<span class="sa">rf</span><span class="s2">"$z(\sqrt</span><span class="se">{{</span><span class="s2">3</span><span class="se">}}</span><span class="s2">\,L) = </span><span class="si">{</span><span class="n">spline</span><span class="p">(</span><span class="n">Lcorner</span><span class="p">)</span><span class="si">:</span><span class="s2">.2f</span><span class="si">}</span><span class="s2">$"</span><span class="p">,</span>
|
||
<span class="n">fontsize</span><span class="o">=</span><span class="n">GLOBAL_FS_TINY</span> <span class="o">-</span> <span class="mi">2</span><span class="p">,</span>
|
||
<span class="p">)</span>
|
||
|
||
<span class="c1"># Annotate the selection functions' means</span>
|
||
<span class="n">z_means</span> <span class="o">=</span> <span class="n">spline</span><span class="p">(</span><span class="n">means_com</span><span class="p">)</span>
|
||
<span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">z_mean</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">z_means</span><span class="p">):</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">axvline</span><span class="p">(</span><span class="n">means_com</span><span class="p">[</span><span class="n">i</span><span class="p">],</span> <span class="n">color</span><span class="o">=</span><span class="n">colours_list</span><span class="p">[</span><span class="n">i</span><span class="p">],</span> <span class="n">linestyle</span><span class="o">=</span><span class="s2">"--"</span><span class="p">,</span> <span class="n">linewidth</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">axhline</span><span class="p">(</span><span class="n">z_mean</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="n">colours_list</span><span class="p">[</span><span class="n">i</span><span class="p">],</span> <span class="n">linestyle</span><span class="o">=</span><span class="s2">"--"</span><span class="p">,</span> <span class="n">linewidth</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">text</span><span class="p">(</span>
|
||
<span class="n">L</span> <span class="o">+</span> <span class="mf">0.08</span><span class="p">,</span>
|
||
<span class="n">z_mean</span> <span class="o">-</span> <span class="mf">0.14</span><span class="p">,</span>
|
||
<span class="sa">rf</span><span class="s2">"$z(\mu_</span><span class="se">{{</span><span class="si">{</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="si">}</span><span class="se">}}</span><span class="s2"> = </span><span class="si">{</span><span class="n">means_com</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="si">:</span><span class="s2">.2f</span><span class="si">}</span><span class="s2">) = </span><span class="si">{</span><span class="n">z_mean</span><span class="si">:</span><span class="s2">.2f</span><span class="si">}</span><span class="s2">$"</span><span class="p">,</span>
|
||
<span class="n">fontsize</span><span class="o">=</span><span class="n">GLOBAL_FS_TINY</span> <span class="o">-</span> <span class="mi">2</span><span class="p">,</span>
|
||
<span class="p">)</span>
|
||
|
||
<span class="c1"># Add labels, legend, and save the figure</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="sa">r</span><span class="s2">"Comoving distance [Gpc$/h$]"</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s2">"Redshift $z$"</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">grid</span><span class="p">(</span><span class="n">which</span><span class="o">=</span><span class="s2">"both"</span><span class="p">,</span> <span class="n">axis</span><span class="o">=</span><span class="s2">"both"</span><span class="p">,</span> <span class="n">linestyle</span><span class="o">=</span><span class="s2">"-"</span><span class="p">,</span> <span class="n">linewidth</span><span class="o">=</span><span class="mf">0.3</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s2">"gray"</span><span class="p">,</span> <span class="n">alpha</span><span class="o">=</span><span class="mf">0.5</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">legend</span><span class="p">()</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">tight_layout</span><span class="p">()</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">savefig</span><span class="p">(</span><span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">wd</span><span class="si">}</span><span class="s2">redshift_distance_conversion.pdf"</span><span class="p">,</span> <span class="n">bbox_inches</span><span class="o">=</span><span class="s2">"tight"</span><span class="p">,</span> <span class="n">dpi</span><span class="o">=</span><span class="mi">300</span><span class="p">)</span>
|
||
<span class="k">if</span> <span class="n">display</span><span class="p">:</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
|
||
|
||
<span class="k">return</span> <span class="n">spline</span></div>
|
||
|
||
|
||
|
||
<div class="viewcode-block" id="plot_selection_functions_def_in_z">
|
||
<a class="viewcode-back" href="../../../selfisys.utils.html#selfisys.utils.plot_examples.plot_selection_functions_def_in_z">[docs]</a>
|
||
<span class="k">def</span> <span class="nf">plot_selection_functions_def_in_z</span><span class="p">(</span>
|
||
<span class="n">xx_of_zs</span><span class="p">,</span>
|
||
<span class="n">res</span><span class="p">,</span>
|
||
<span class="n">res_mis</span><span class="p">,</span>
|
||
<span class="n">z_means</span><span class="p">,</span>
|
||
<span class="n">cosmo</span><span class="p">,</span>
|
||
<span class="n">L</span><span class="p">,</span>
|
||
<span class="n">stds_z</span><span class="p">,</span>
|
||
<span class="n">wd</span><span class="p">,</span>
|
||
<span class="n">display</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
|
||
<span class="p">):</span>
|
||
<span class="w"> </span><span class="sd">"""</span>
|
||
<span class="sd"> Plot radial lognormal (in redshift) selection functions against</span>
|
||
<span class="sd"> comoving distances.</span>
|
||
|
||
<span class="sd"> Parameters</span>
|
||
<span class="sd"> ----------</span>
|
||
<span class="sd"> xx_of_zs : array-like</span>
|
||
<span class="sd"> Comoving distances mapped from redshift.</span>
|
||
<span class="sd"> res : list of array-like</span>
|
||
<span class="sd"> Selection functions for the well-specified model.</span>
|
||
<span class="sd"> res_mis : list of array-like</span>
|
||
<span class="sd"> Selection functions for the mis-specified model.</span>
|
||
<span class="sd"> z_means : array-like</span>
|
||
<span class="sd"> Mean redshifts of every galaxy population.</span>
|
||
<span class="sd"> cosmo : object</span>
|
||
<span class="sd"> Cosmology object.</span>
|
||
<span class="sd"> L : float</span>
|
||
<span class="sd"> Box side length in comoving distance units.</span>
|
||
<span class="sd"> stds_z : array-like</span>
|
||
<span class="sd"> Standard deviations of redshift distributions.</span>
|
||
<span class="sd"> wd : str</span>
|
||
<span class="sd"> Working directory for saving figures.</span>
|
||
<span class="sd"> display : bool, optional</span>
|
||
<span class="sd"> Whether to display the figure. Default is True.</span>
|
||
|
||
<span class="sd"> Returns</span>
|
||
<span class="sd"> -------</span>
|
||
<span class="sd"> None</span>
|
||
<span class="sd"> """</span>
|
||
<span class="kn">from</span> <span class="nn">matplotlib.ticker</span> <span class="kn">import</span> <span class="n">FormatStrFormatter</span>
|
||
|
||
<span class="n">colours_list</span> <span class="o">=</span> <span class="n">COLOUR_LIST</span><span class="p">[:</span> <span class="nb">len</span><span class="p">(</span><span class="n">res</span><span class="p">)]</span>
|
||
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span> <span class="mi">5</span><span class="p">))</span>
|
||
|
||
<span class="c1"># Plot well-specified selection functions</span>
|
||
<span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">r</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">res</span><span class="p">):</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">xx_of_zs</span><span class="p">,</span> <span class="n">r</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="n">colours_list</span><span class="p">[</span><span class="n">i</span><span class="p">])</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">xx_of_zs</span><span class="p">,</span> <span class="n">res</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">],</span> <span class="n">color</span><span class="o">=</span><span class="s2">"black"</span><span class="p">,</span> <span class="n">alpha</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">label</span><span class="o">=</span><span class="s2">"Model A"</span><span class="p">)</span>
|
||
|
||
<span class="c1"># Plot mis-specified selection functions</span>
|
||
<span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">r_mis</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">res_mis</span><span class="p">):</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">xx_of_zs</span><span class="p">,</span> <span class="n">r_mis</span><span class="p">,</span> <span class="n">linestyle</span><span class="o">=</span><span class="s2">"--"</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="n">colours_list</span><span class="p">[</span><span class="n">i</span><span class="p">])</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">xx_of_zs</span><span class="p">,</span> <span class="n">res_mis</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">],</span> <span class="n">linestyle</span><span class="o">=</span><span class="s2">"--"</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s2">"black"</span><span class="p">,</span> <span class="n">alpha</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">label</span><span class="o">=</span><span class="s2">"Model B"</span><span class="p">)</span>
|
||
|
||
<span class="c1"># Define x-ticks and labels</span>
|
||
<span class="n">xticks</span> <span class="o">=</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span> <span class="o">*</span> <span class="n">L</span><span class="p">]</span>
|
||
<span class="n">xtick_labels</span> <span class="o">=</span> <span class="p">[</span><span class="sa">r</span><span class="s2">"$0$"</span><span class="p">,</span> <span class="sa">r</span><span class="s2">"$\sqrt 3\,L \simeq </span><span class="si">{:.2f}</span><span class="s2">$"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span> <span class="o">*</span> <span class="n">L</span><span class="p">)]</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">axvline</span><span class="p">(</span><span class="n">L</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s2">"black"</span><span class="p">,</span> <span class="n">linestyle</span><span class="o">=</span><span class="s2">"-"</span><span class="p">,</span> <span class="n">linewidth</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">zorder</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
|
||
|
||
<span class="c1"># Annotate populations</span>
|
||
<span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">mean</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">z_means</span><span class="p">):</span>
|
||
<span class="n">std</span> <span class="o">=</span> <span class="n">stds_z</span><span class="p">[</span><span class="n">i</span><span class="p">]</span>
|
||
<span class="n">mu</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">log</span><span class="p">(</span><span class="n">mean</span><span class="o">**</span><span class="mi">2</span> <span class="o">/</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">mean</span><span class="o">**</span><span class="mi">2</span> <span class="o">+</span> <span class="n">std</span><span class="o">**</span><span class="mi">2</span><span class="p">))</span>
|
||
<span class="n">sig2</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">log</span><span class="p">(</span><span class="mi">1</span> <span class="o">+</span> <span class="n">std</span><span class="o">**</span><span class="mi">2</span> <span class="o">/</span> <span class="n">mean</span><span class="o">**</span><span class="mi">2</span><span class="p">)</span>
|
||
<span class="n">mode</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">exp</span><span class="p">(</span><span class="n">mu</span> <span class="o">-</span> <span class="n">sig2</span><span class="p">)</span>
|
||
|
||
<span class="n">dmode</span> <span class="o">=</span> <span class="n">cosmo</span><span class="o">.</span><span class="n">comoving_distance</span><span class="p">(</span><span class="n">mode</span><span class="p">)</span><span class="o">.</span><span class="n">value</span> <span class="o">/</span> <span class="mf">1e3</span>
|
||
<span class="n">dmean</span> <span class="o">=</span> <span class="n">cosmo</span><span class="o">.</span><span class="n">comoving_distance</span><span class="p">(</span><span class="n">mean</span><span class="p">)</span><span class="o">.</span><span class="n">value</span> <span class="o">/</span> <span class="mf">1e3</span>
|
||
|
||
<span class="n">xticks</span><span class="o">.</span><span class="n">extend</span><span class="p">([</span><span class="n">dmean</span><span class="p">])</span>
|
||
<span class="n">xtick_labels</span><span class="o">.</span><span class="n">extend</span><span class="p">([</span><span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">dmean</span><span class="si">:</span><span class="s2">.2f</span><span class="si">}</span><span class="s2">"</span><span class="p">])</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">axvline</span><span class="p">(</span><span class="n">dmean</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="n">colours_list</span><span class="p">[</span><span class="n">i</span><span class="p">],</span> <span class="n">linestyle</span><span class="o">=</span><span class="s2">"-."</span><span class="p">,</span> <span class="n">linewidth</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">axvline</span><span class="p">(</span><span class="n">dmode</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="n">colours_list</span><span class="p">[</span><span class="n">i</span><span class="p">],</span> <span class="n">linestyle</span><span class="o">=</span><span class="s2">"-"</span><span class="p">,</span> <span class="n">linewidth</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">axvline</span><span class="p">(</span>
|
||
<span class="n">mode</span><span class="p">,</span>
|
||
<span class="n">color</span><span class="o">=</span><span class="n">colours_list</span><span class="p">[</span><span class="n">i</span><span class="p">],</span>
|
||
<span class="n">alpha</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span>
|
||
<span class="n">linewidth</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span>
|
||
<span class="n">label</span><span class="o">=</span><span class="sa">f</span><span class="s2">"Population </span><span class="si">{</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="si">}</span><span class="s2">"</span><span class="p">,</span>
|
||
<span class="p">)</span>
|
||
|
||
<span class="c1"># Configure axes, labels, ticks, legend</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="sa">r</span><span class="s2">"$r\,[{\rm Gpc}/h]$"</span><span class="p">,</span> <span class="n">fontsize</span><span class="o">=</span><span class="n">GLOBAL_FS_LARGE</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="sa">r</span><span class="s2">"$R_i(r)$"</span><span class="p">,</span> <span class="n">fontsize</span><span class="o">=</span><span class="n">GLOBAL_FS_LARGE</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">xticks</span><span class="p">(</span><span class="n">xticks</span><span class="p">,</span> <span class="n">xtick_labels</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">tick_params</span><span class="p">(</span><span class="n">axis</span><span class="o">=</span><span class="s2">"x"</span><span class="p">,</span> <span class="n">which</span><span class="o">=</span><span class="s2">"major"</span><span class="p">,</span> <span class="n">size</span><span class="o">=</span><span class="mi">8</span><span class="p">,</span> <span class="n">labelsize</span><span class="o">=</span><span class="n">GLOBAL_FS_SMALL</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">tick_params</span><span class="p">(</span><span class="n">axis</span><span class="o">=</span><span class="s2">"y"</span><span class="p">,</span> <span class="n">which</span><span class="o">=</span><span class="s2">"major"</span><span class="p">,</span> <span class="n">size</span><span class="o">=</span><span class="mi">8</span><span class="p">,</span> <span class="n">labelsize</span><span class="o">=</span><span class="n">GLOBAL_FS_SMALL</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">grid</span><span class="p">(</span><span class="n">which</span><span class="o">=</span><span class="s2">"both"</span><span class="p">,</span> <span class="n">axis</span><span class="o">=</span><span class="s2">"both"</span><span class="p">,</span> <span class="n">linestyle</span><span class="o">=</span><span class="s2">"-"</span><span class="p">,</span> <span class="n">linewidth</span><span class="o">=</span><span class="mf">0.4</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s2">"gray"</span><span class="p">,</span> <span class="n">alpha</span><span class="o">=</span><span class="mf">0.5</span><span class="p">)</span>
|
||
|
||
<span class="n">maxs</span> <span class="o">=</span> <span class="p">[</span><span class="n">np</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><span class="n">r</span><span class="p">)</span> <span class="k">for</span> <span class="n">r</span> <span class="ow">in</span> <span class="n">res</span><span class="p">]</span>
|
||
<span class="n">yticks</span> <span class="o">=</span> <span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+</span> <span class="n">maxs</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">yticks</span><span class="p">(</span><span class="n">yticks</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">gca</span><span class="p">()</span><span class="o">.</span><span class="n">yaxis</span><span class="o">.</span><span class="n">set_major_formatter</span><span class="p">(</span><span class="n">FormatStrFormatter</span><span class="p">(</span><span class="s2">"</span><span class="si">%.2f</span><span class="s2">"</span><span class="p">))</span>
|
||
|
||
<span class="n">legend</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">legend</span><span class="p">(</span><span class="n">frameon</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">loc</span><span class="o">=</span><span class="s2">"upper right"</span><span class="p">,</span> <span class="n">fontsize</span><span class="o">=</span><span class="n">GLOBAL_FS_LARGE</span><span class="p">)</span>
|
||
<span class="n">legend</span><span class="o">.</span><span class="n">get_frame</span><span class="p">()</span><span class="o">.</span><span class="n">set_edgecolor</span><span class="p">(</span><span class="s2">"white"</span><span class="p">)</span>
|
||
<span class="k">for</span> <span class="n">lh</span> <span class="ow">in</span> <span class="n">legend</span><span class="o">.</span><span class="n">legend_handles</span><span class="p">:</span>
|
||
<span class="n">lh</span><span class="o">.</span><span class="n">set_alpha</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
|
||
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">tight_layout</span><span class="p">()</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">savefig</span><span class="p">(</span><span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">wd</span><span class="si">}</span><span class="s2">selection_functions_com.pdf"</span><span class="p">,</span> <span class="n">bbox_inches</span><span class="o">=</span><span class="s2">"tight"</span><span class="p">,</span> <span class="n">dpi</span><span class="o">=</span><span class="mi">300</span><span class="p">)</span>
|
||
<span class="k">if</span> <span class="n">display</span><span class="p">:</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">close</span><span class="p">()</span></div>
|
||
|
||
|
||
|
||
<div class="viewcode-block" id="plot_galaxy_field_slice">
|
||
<a class="viewcode-back" href="../../../selfisys.utils.html#selfisys.utils.plot_examples.plot_galaxy_field_slice">[docs]</a>
|
||
<span class="k">def</span> <span class="nf">plot_galaxy_field_slice</span><span class="p">(</span><span class="n">g</span><span class="p">,</span> <span class="n">size</span><span class="p">,</span> <span class="n">L</span><span class="p">,</span> <span class="n">wd</span><span class="p">,</span> <span class="n">id_obs</span><span class="p">,</span> <span class="n">limits</span><span class="o">=</span><span class="s2">"minmax"</span><span class="p">,</span> <span class="n">display</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
|
||
<span class="w"> </span><span class="sd">"""</span>
|
||
<span class="sd"> Plot a 2D slice of the observed field.</span>
|
||
|
||
<span class="sd"> Parameters</span>
|
||
<span class="sd"> ----------</span>
|
||
<span class="sd"> g : ndarray</span>
|
||
<span class="sd"> 2D array representing the observed field slice.</span>
|
||
<span class="sd"> size : int</span>
|
||
<span class="sd"> Number of grid points along each axis.</span>
|
||
<span class="sd"> L : float</span>
|
||
<span class="sd"> Size of the simulation box (in Mpc/h).</span>
|
||
<span class="sd"> wd : str</span>
|
||
<span class="sd"> Working directory for saving output files.</span>
|
||
<span class="sd"> id_obs : int or str</span>
|
||
<span class="sd"> Identifier for the observation, used in file naming.</span>
|
||
<span class="sd"> limits : str, optional</span>
|
||
<span class="sd"> Colormap scaling method. Options: 'minmax', 'truncate', 'max'.</span>
|
||
<span class="sd"> display : bool, optional</span>
|
||
<span class="sd"> Whether to display the figure. Default is True.</span>
|
||
<span class="sd"> """</span>
|
||
<span class="kn">from</span> <span class="nn">mpl_toolkits.axes_grid1</span> <span class="kn">import</span> <span class="n">make_axes_locatable</span>
|
||
<span class="kn">from</span> <span class="nn">matplotlib</span> <span class="kn">import</span> <span class="n">colors</span>
|
||
|
||
<span class="c1"># Define colormap and set scaling limits</span>
|
||
<span class="n">GalaxyMap</span> <span class="o">=</span> <span class="n">create_colormap</span><span class="p">(</span><span class="s2">"GalaxyMap"</span><span class="p">)</span>
|
||
|
||
<span class="k">if</span> <span class="n">limits</span> <span class="o">==</span> <span class="s2">"max"</span><span class="p">:</span>
|
||
<span class="n">maxcol</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">abs</span><span class="p">(</span><span class="n">g</span><span class="p">))</span>
|
||
<span class="n">mincol</span> <span class="o">=</span> <span class="o">-</span><span class="n">maxcol</span>
|
||
<span class="n">cmap</span> <span class="o">=</span> <span class="n">GalaxyMap</span>
|
||
<span class="k">elif</span> <span class="n">limits</span> <span class="o">==</span> <span class="s2">"truncate"</span><span class="p">:</span>
|
||
<span class="n">maxcol</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">min</span><span class="p">([</span><span class="n">np</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><span class="o">-</span><span class="n">g</span><span class="p">),</span> <span class="n">np</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><span class="n">g</span><span class="p">)])</span>
|
||
<span class="n">mincol</span> <span class="o">=</span> <span class="o">-</span><span class="n">maxcol</span>
|
||
<span class="n">cmap</span> <span class="o">=</span> <span class="s2">"PiYG"</span>
|
||
<span class="k">elif</span> <span class="n">limits</span> <span class="o">==</span> <span class="s2">"minmax"</span><span class="p">:</span>
|
||
<span class="n">maxcol</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><span class="n">g</span><span class="p">)</span>
|
||
<span class="n">mincol</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">min</span><span class="p">(</span><span class="n">g</span><span class="p">)</span>
|
||
<span class="n">cmap</span> <span class="o">=</span> <span class="n">GalaxyMap</span>
|
||
|
||
<span class="n">divnorm</span> <span class="o">=</span> <span class="n">colors</span><span class="o">.</span><span class="n">TwoSlopeNorm</span><span class="p">(</span><span class="n">vmin</span><span class="o">=</span><span class="n">mincol</span><span class="p">,</span> <span class="n">vcenter</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">vmax</span><span class="o">=</span><span class="n">maxcol</span><span class="p">)</span>
|
||
|
||
<span class="c1"># Plot</span>
|
||
<span class="n">fig</span><span class="p">,</span> <span class="n">ax</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplots</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">6</span><span class="p">,</span> <span class="mi">6</span><span class="p">))</span>
|
||
<span class="n">im</span> <span class="o">=</span> <span class="n">ax</span><span class="o">.</span><span class="n">imshow</span><span class="p">(</span><span class="n">g</span><span class="p">,</span> <span class="n">norm</span><span class="o">=</span><span class="n">divnorm</span><span class="p">,</span> <span class="n">cmap</span><span class="o">=</span><span class="n">cmap</span><span class="p">)</span>
|
||
<span class="n">ax</span><span class="o">.</span><span class="n">invert_yaxis</span><span class="p">()</span> <span class="c1"># Place origin at bottom-left</span>
|
||
<span class="n">ax</span><span class="o">.</span><span class="n">spines</span><span class="p">[[</span><span class="s2">"top"</span><span class="p">,</span> <span class="s2">"right"</span><span class="p">,</span> <span class="s2">"left"</span><span class="p">,</span> <span class="s2">"bottom"</span><span class="p">]]</span><span class="o">.</span><span class="n">set_visible</span><span class="p">(</span><span class="kc">False</span><span class="p">)</span>
|
||
<span class="n">divider</span> <span class="o">=</span> <span class="n">make_axes_locatable</span><span class="p">(</span><span class="n">ax</span><span class="p">)</span>
|
||
<span class="n">cax</span> <span class="o">=</span> <span class="n">divider</span><span class="o">.</span><span class="n">append_axes</span><span class="p">(</span><span class="s2">"right"</span><span class="p">,</span> <span class="n">size</span><span class="o">=</span><span class="s2">"5%"</span><span class="p">,</span> <span class="n">pad</span><span class="o">=</span><span class="mf">0.1</span><span class="p">)</span>
|
||
<span class="n">cbar</span> <span class="o">=</span> <span class="n">fig</span><span class="o">.</span><span class="n">colorbar</span><span class="p">(</span><span class="n">im</span><span class="p">,</span> <span class="n">cax</span><span class="o">=</span><span class="n">cax</span><span class="p">)</span>
|
||
<span class="n">cbar</span><span class="o">.</span><span class="n">outline</span><span class="o">.</span><span class="n">set_visible</span><span class="p">(</span><span class="kc">False</span><span class="p">)</span>
|
||
<span class="n">ticks</span> <span class="o">=</span> <span class="p">[</span><span class="n">mincol</span><span class="p">,</span> <span class="n">mincol</span> <span class="o">/</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">maxcol</span> <span class="o">/</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">maxcol</span> <span class="o">/</span> <span class="mi">3</span><span class="p">,</span> <span class="n">maxcol</span><span class="p">]</span>
|
||
<span class="n">cbar</span><span class="o">.</span><span class="n">set_ticks</span><span class="p">(</span><span class="n">ticks</span><span class="p">)</span>
|
||
<span class="n">cbar</span><span class="o">.</span><span class="n">set_ticklabels</span><span class="p">([</span><span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">x</span><span class="si">:</span><span class="s2">.2f</span><span class="si">}</span><span class="s2">"</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">ticks</span><span class="p">],</span> <span class="n">size</span><span class="o">=</span><span class="n">GLOBAL_FS_SMALL</span><span class="p">)</span>
|
||
<span class="n">cbar</span><span class="o">.</span><span class="n">set_label</span><span class="p">(</span><span class="sa">r</span><span class="s2">"$\delta_\textrm</span><span class="si">{g}</span><span class="s2">$"</span><span class="p">,</span> <span class="n">size</span><span class="o">=</span><span class="n">GLOBAL_FS</span><span class="p">)</span>
|
||
<span class="n">ax</span><span class="o">.</span><span class="n">set_xticks</span><span class="p">(</span>
|
||
<span class="p">[</span><span class="n">size</span> <span class="o">*</span> <span class="n">i</span> <span class="o">/</span> <span class="mf">4.0</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">5</span><span class="p">)],</span> <span class="p">[</span><span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">L</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="mf">1e-3</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="mi">4</span><span class="si">:</span><span class="s2">.1f</span><span class="si">}</span><span class="s2">"</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">5</span><span class="p">)]</span>
|
||
<span class="p">)</span>
|
||
<span class="n">ax</span><span class="o">.</span><span class="n">set_yticks</span><span class="p">(</span>
|
||
<span class="p">[</span><span class="n">size</span> <span class="o">*</span> <span class="n">i</span> <span class="o">/</span> <span class="mf">4.0</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">5</span><span class="p">)],</span> <span class="p">[</span><span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">L</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="mf">1e-3</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="mi">4</span><span class="si">:</span><span class="s2">.1f</span><span class="si">}</span><span class="s2">"</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">5</span><span class="p">)]</span>
|
||
<span class="p">)</span>
|
||
<span class="n">ax</span><span class="o">.</span><span class="n">set_xlabel</span><span class="p">(</span><span class="sa">r</span><span class="s2">"Gpc/$h$"</span><span class="p">,</span> <span class="n">size</span><span class="o">=</span><span class="n">GLOBAL_FS</span><span class="p">)</span>
|
||
<span class="n">ax</span><span class="o">.</span><span class="n">set_ylabel</span><span class="p">(</span><span class="sa">r</span><span class="s2">"Gpc/$h$"</span><span class="p">,</span> <span class="n">size</span><span class="o">=</span><span class="n">GLOBAL_FS</span><span class="p">)</span>
|
||
|
||
<span class="c1"># Save or display</span>
|
||
<span class="k">if</span> <span class="n">display</span><span class="p">:</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
|
||
<span class="k">else</span><span class="p">:</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">savefig</span><span class="p">(</span><span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">wd</span><span class="si">}</span><span class="s2">Figures/g_</span><span class="si">{</span><span class="n">id_obs</span><span class="si">}</span><span class="s2">.png"</span><span class="p">,</span> <span class="n">bbox_inches</span><span class="o">=</span><span class="s2">"tight"</span><span class="p">,</span> <span class="n">dpi</span><span class="o">=</span><span class="mi">300</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">savefig</span><span class="p">(</span><span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">wd</span><span class="si">}</span><span class="s2">Figures/g_</span><span class="si">{</span><span class="n">id_obs</span><span class="si">}</span><span class="s2">.pdf"</span><span class="p">,</span> <span class="n">bbox_inches</span><span class="o">=</span><span class="s2">"tight"</span><span class="p">,</span> <span class="n">dpi</span><span class="o">=</span><span class="mi">300</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">close</span><span class="p">()</span></div>
|
||
|
||
</pre></div>
|
||
|
||
</div>
|
||
</div>
|
||
<footer>
|
||
|
||
<hr/>
|
||
|
||
<div role="contentinfo">
|
||
<p>© Copyright 2025, Tristan Hoellinger.</p>
|
||
</div>
|
||
|
||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||
|
||
|
||
</footer>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
<script>
|
||
jQuery(function () {
|
||
SphinxRtdTheme.Navigation.enable(true);
|
||
});
|
||
</script>
|
||
|
||
</body>
|
||
</html> |