ArviZ support

ArviZ support#

As of version 2.2, corner supports plotting ArviZ samples, providing a consistent interface to many MCMC samplers.

Here is a simple example of this:

import corner
import numpy as np
import arviz as az

np.random.seed(11234)

x = np.random.randn(2, 2000)
try:
    data = az.from_dict(
        posterior={"x": x, "y": np.random.randn(2, 2000, 2)},
        sample_stats={"diverging": x < -1.2},
    )
except TypeError:
    data = az.from_dict(
        {
            "posterior": {"x": x, "y": np.random.randn(2, 2000, 2)},
            "sample_stats": {"diverging": x < -1.2},
        },
    )

figure = corner.corner(data, divergences=True)
../../_images/c0e91743abcc50888a93ec14e35b8c7392863cbba6eb11723a90056b0045ef56.png

When using this interface, it is probably best to provide the truths parameter using a dictionary keyed on the variable names:

figure = corner.corner(data, truths={"x": 1.5, "y": [-0.3, 0.1]})
../../_images/0f720bf4391170b3591f687b2b21f5724e44e397e54daa64e476d1a620c25172.png