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)
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/a50ee33e74475af2bc644b6c6a9705acc1e7ee0f0899c0b8b34a0d6ffde2133d.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/35fd9ab6c1f7eb8d12c668d26665569344d463fb7a9967caa052f9907e296b31.png