Control the order of coordinates in arviz.InferenceData

Perhaps you could just specify the order that you wish in the plotting functions themselves. I believe that should achieve what you wish.

with pm.Model() as model:
    a = pm.Normal('a', 0., 1.) # group mean
    sigma = pm.Exponential('sigma', 1.) # determines amount of shrinkage

    a_cluster = pm.Normal('a_cluster', a, sigma, shape=2)
    p = pm.math.invlogit(a_cluster[[0, 1]])

    pm.Binomial('obs', p=p, n=[6, 125], observed=[1, 110])
    
    trace = pm.sample(target_accept=0.8)
    ppc = pm.sample_posterior_predictive(trace)
    idata = az.from_pymc3(trace, posterior_predictive=ppc, dims={'a_cluster':['ac_custom']}, coords={'ac_custom':['ac_0', 'ac_1']})

1 Like