Note
Click here to download the full example code
Introduction to Summaries¶
When you have a few chains and want to contrast them all with each other, you probably want a summary plot.
To show you how they work, let's make some sample data that all has the same average.
from chainconsumer import Chain, ChainConfig, ChainConsumer, PlotConfig, Truth, make_sample
# Here's what you might start with
df_1 = make_sample(num_dimensions=4, seed=1)
df_2 = make_sample(num_dimensions=5, seed=2)
print(df_1.head())
Out:
A B C D log_posterior
0 0.492927 4.393551 8.945172 16.182573 -2.813765
1 -0.373115 3.735024 9.073357 15.513492 -5.662393
2 1.153838 5.434439 8.655611 16.292785 -4.324239
3 -0.728912 3.948773 10.656997 14.002602 -4.427366
4 1.317778 3.549181 8.499001 16.354701 -3.394223
Using distributions¶
# And now we give this to chainconsumer
c = ChainConsumer()
c.add_chain(Chain(samples=df_1, name="An Example Contour"))
c.add_chain(Chain(samples=df_2, name="A Different Contour"))
fig = c.plotter.plot_summary()
Using Errorbars¶
Note that because the errorbar kwarg is specific to this function
it is not part of the PlotConfig
class.
The other features of ChainConsumer should work with summaries too.
For example, truth values should work just fine.
c.add_truth(Truth(location={"A": 0, "B": 1}, line_style=":", color="red"))
fig = c.plotter.plot_summary(errorbar=True, vertical_spacing_ratio=2.0)
And similarly, our overrides are generic and so effect this method too.
c.set_override(ChainConfig(bar_shade=False))
c.set_plot_config(PlotConfig(watermark="Preliminary", blind=["E"]))
fig = c.plotter.plot_summary()
Total running time of the script: ( 0 minutes 7.369 seconds)
Download Python source code: plot_1_summary.py