diff --git a/doc/_static/css/custom.css b/doc/_static/css/custom.css new file mode 100644 index 00000000..4bb8b69a --- /dev/null +++ b/doc/_static/css/custom.css @@ -0,0 +1,17 @@ +div.initial {} + +div.itemBox { + display: none; + +} + +.item_image { + width: 70vw; + height: auto; +} + +button { + font-size: 1.5vw; + border-radius: 0.25vw; + color: white; +} diff --git a/doc/_static/images/animation.gif b/doc/_static/images/animation.gif new file mode 100644 index 00000000..b69e8f20 Binary files /dev/null and b/doc/_static/images/animation.gif differ diff --git a/doc/_static/images/nband1.png b/doc/_static/images/nband1.png new file mode 100644 index 00000000..64b029cf Binary files /dev/null and b/doc/_static/images/nband1.png differ diff --git a/doc/_static/images/nband2.png b/doc/_static/images/nband2.png new file mode 100644 index 00000000..d82afa75 Binary files /dev/null and b/doc/_static/images/nband2.png differ diff --git a/doc/_static/images/nband3.png b/doc/_static/images/nband3.png new file mode 100644 index 00000000..70a894c1 Binary files /dev/null and b/doc/_static/images/nband3.png differ diff --git a/doc/_static/images/nband4.png b/doc/_static/images/nband4.png new file mode 100644 index 00000000..46f24922 Binary files /dev/null and b/doc/_static/images/nband4.png differ diff --git a/doc/_static/images/nband5.png b/doc/_static/images/nband5.png new file mode 100644 index 00000000..60b78add Binary files /dev/null and b/doc/_static/images/nband5.png differ diff --git a/doc/_static/images/nband6.png b/doc/_static/images/nband6.png new file mode 100644 index 00000000..34e57a6e Binary files /dev/null and b/doc/_static/images/nband6.png differ diff --git a/doc/_static/images/nband7.png b/doc/_static/images/nband7.png new file mode 100644 index 00000000..9cb83c08 Binary files /dev/null and b/doc/_static/images/nband7.png differ diff --git a/doc/animate_nbands.html b/doc/animate_nbands.html new file mode 100644 index 00000000..dbc04e79 --- /dev/null +++ b/doc/animate_nbands.html @@ -0,0 +1,65 @@ + + + +
+

+

+
→ + + + + + + + + +

+

+ +
+ First example image +
+
+ Second example image +
+ + + + diff --git a/doc/api/plotting_api.rst b/doc/api/plotting_api.rst index 613a745b..d2cec5b5 100644 --- a/doc/api/plotting_api.rst +++ b/doc/api/plotting_api.rst @@ -12,14 +12,14 @@ prospect.plotting.utils :members: sample_prior, sample_posterior prospect.plotting.sfh ------------------------ +--------------------- .. automodule:: prospect.plotting.sfh :members: sfh_quantiles, parametric_sfr, nonpar_recent_sfr, parametric_mwa, nonpar_mwa prospect.plotting.corner ------------------------ +------------------------ -.. automodule:: prospect.plotting.utils +.. automodule:: prospect.plotting.corner :members: quantile, marginal, corner diff --git a/doc/conf.py b/doc/conf.py index 01e65f3d..22401185 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -100,6 +100,7 @@ # html_short_title = None html_static_path = ["_static"] +html_css_files = ['css/custom.css'] # The name of an image file (relative to this directory) to place at the top # of the sidebar. diff --git a/doc/demo.rst b/doc/demo.rst index 829a2eca..bea669b7 100644 --- a/doc/demo.rst +++ b/doc/demo.rst @@ -4,12 +4,18 @@ You can check out the Jupyter notebook demo at * `InteractiveDemo `_ -Also, below is an example of inference from an increasing number of photometric bands. -Model parameters and SEDs are inferred (in grey) from a changing number of mock -photometric bands. The mock is generated at the parameters marked in blue. This -shows how with a small amount of data most posteriors are determined by the -prior (dashed red) but that as the number of bands increases, the data are more -infomative and the posterior distributions are narrower than the prior. - -.. image:: images/animation.gif - :align: center +Interactive Figure +------------------ + +Also, below is an example of inference from an increasing number of photometric +bands. Model parameters and SEDs are inferred (in blue) from a changing number +of mock photometric bands (grey points). The mock is generated at the parameters +and with the SED marked in black. This shows how with a small amount of data +most posteriors are determined by the prior (dotted green) but that as the +number of bands increases, the data are more infomative and the posterior +distributions are narrower than the prior. + +Click the buttons show the inference for different filter sets: + +.. raw:: html + :file: animate_nbands.html \ No newline at end of file diff --git a/doc/faq.rst b/doc/faq.rst index c25c834c..68e833bb 100644 --- a/doc/faq.rst +++ b/doc/faq.rst @@ -145,7 +145,7 @@ simultaneously. See What bins should I use for the non-parametric SFH? -------------------------------------------------- +-------------------------------------------------- Deciding on the "optimal" number of bins to use in such non-parametric SFHs is a difficult question. The pioneering work of `ocvirk06 `_ @@ -186,7 +186,7 @@ large samples of objects. What settings should I use for `dynesty`? --------------------------------------- +----------------------------------------- The default `dynesty` settings in |Codename| are optimized for a low-dimensional (N=4-7) model. Higher-dimensional models with more complex likelihood spaces will likely require more advanced `dynesty` settings to @@ -214,7 +214,7 @@ sampling has converged to the correct *distribution* How do I use `emcee` in |Codename|? -------------------------------------- +----------------------------------- For each parameter, an initial value (``"init"`` in the parameter specification) must be given. The ensemble of walkers is initialized around this value, with a Gaussian spread that can be specified separately for each parameter. Each @@ -315,13 +315,13 @@ This is a general question for MC sampling techniques. Why isn't the posterior PDF centered on the highest posterior probability sample? ---------------------------------------------------------------------- +--------------------------------------------------------------------------------- How do I interpret the `lnprobability` or `lnp` values? Why do I get `lnp > 0`? ------------------------------------------------------------------------------- How do I know if Prospector is "working"? ---------------------------------------- +----------------------------------------- diff --git a/doc/requirements.txt b/doc/requirements.txt index c7338516..52452576 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -1,3 +1,4 @@ numpy >= 1.16 scipy >= 1.1.0 +matplotlib >= 3.0 sphinx>=1.7.5 diff --git a/prospect/plotting/corner.py b/prospect/plotting/corner.py index 1189d02e..a102b83f 100644 --- a/prospect/plotting/corner.py +++ b/prospect/plotting/corner.py @@ -6,10 +6,13 @@ import numpy as np from scipy.ndimage import gaussian_filter as norm_kde -import matplotlib.pyplot as pl -from matplotlib.ticker import MaxNLocator, NullLocator -from matplotlib.ticker import ScalarFormatter -from matplotlib.colors import LinearSegmentedColormap, colorConverter +try: + import matplotlib.pyplot as pl + from matplotlib.ticker import MaxNLocator, NullLocator + from matplotlib.ticker import ScalarFormatter + from matplotlib.colors import LinearSegmentedColormap, colorConverter +except(ImportError): + pass __all__ = ["allcorner", "show_extras", "prettify_axes", "corner", diff --git a/prospect/plotting/figuremaker.py b/prospect/plotting/figuremaker.py index 0012f41b..fe96e84f 100644 --- a/prospect/plotting/figuremaker.py +++ b/prospect/plotting/figuremaker.py @@ -5,7 +5,10 @@ """ import numpy as np -import matplotlib.pyplot as pl +try: + import matplotlib.pyplot as pl +except(ImportError): + pass from ..io import read_results as reader from ..io.write_results import chain_to_struct, dict_to_struct