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 -1.040250 6.595265 11.846556 13.958347 -5.739849
1 0.148577 4.714103 10.132054 14.526305 -2.377831
2 -0.958227 5.307347 10.350359 15.256772 -4.034572
3 -2.053100 6.580461 11.533316 13.577093 -4.132973
4 -2.213767 6.849442 11.262830 13.912170 -4.671505
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 4.238 seconds)
Download Python source code: plot_1_summary.py