fig, axs = plt.subplots(2, 2, sharex=True, sharey=True)
for i, (axi, config) in enumerate(zip(axs.ravel(), df_configs)):
df_prior, df_likelihood = config
dprior = results["density-prior"][i]
dlikelihood = results["density-likelihood"][i]
dpost = results["density-posterior"][i]
axi.plot(xrange, dprior, c="black", linestyle="--")
axi.plot(xrange, dlikelihood, c="black")
axi.plot(xrange, dpost, c="crimson")
axi.set_title(f"df-prior={df_prior.item():0.0f}\ndf-likelihood={df_likelihood.item():0.0f}")
axi.text(10, 0.42, "Prior", horizontalalignment="center")
axi.text(0, 0.42, "Likelihood", horizontalalignment="center")
axs[0, 0].set_ylabel("Density")
axs[1, 0].set_ylabel("Density")
plt.tight_layout()