arviz.plot_forest

arviz.plot_forest(data, kind='forestplot', model_names=None, var_names=None, combined=False, credible_interval=0.94, rope=None, quartiles=True, ess=False, r_hat=False, colors='cycle', textsize=None, linewidth=None, markersize=None, ridgeplot_alpha=None, ridgeplot_overlap=2, figsize=None)[source]

Forest plot to compare credible intervals from a number of distributions.

Generates a forest plot of 100*(credible_interval)% credible intervals from a trace or list of traces.

Parameters:
data : obj or list[obj]

Any object that can be converted to an az.InferenceData object Refer to documentation of az.convert_to_dataset for details

kind : str

Choose kind of plot for main axis. Supports “forestplot” or “ridgeplot”

model_names : list[str], optional

List with names for the models in the list of data. Useful when plotting more that one dataset

var_names: list[str], optional

List of variables to plot (defaults to None, which results in all variables plotted)

combined : bool

Flag for combining multiple chains into a single chain. If False (default), chains will be plotted separately.

credible_interval : float, optional

Credible interval to plot. Defaults to 0.94.

rope: tuple or dictionary of tuples

Lower and upper values of the Region Of Practical Equivalence. If a list with one interval only is provided, the ROPE will be displayed across the y-axis. If more than one interval is provided the length of the list should match the number of variables.

quartiles : bool, optional

Flag for plotting the interquartile range, in addition to the credible_interval intervals. Defaults to True

r_hat : bool, optional

Flag for plotting Split R-hat statistics. Requires 2 or more chains. Defaults to False

ess : bool, optional

Flag for plotting the effective sample size. Requires 2 or more chains. Defaults to False

colors : list or string, optional

list with valid matplotlib colors, one color per model. Alternative a string can be passed. If the string is cycle, it will automatically chose a color per model from the matplotlibs cycle. If a single color is passed, eg ‘k’, ‘C2’, ‘red’ this color will be used for all models. Defauls to ‘cycle’.

textsize: float

Text size scaling factor for labels, titles and lines. If None it will be autoscaled based on figsize.

linewidth : int

Line width throughout. If None it will be autoscaled based on figsize.

markersize : int

Markersize throughout. If None it will be autoscaled based on figsize.

ridgeplot_alpha : float

Transparency for ridgeplot fill. If 0, border is colored by model, otherwise a black outline is used.

ridgeplot_overlap : float

Overlap height for ridgeplots.

figsize : tuple

Figure size. If None it will be defined automatically.

Returns:
gridspec : matplotlib GridSpec
Examples
——–
Forestpĺot
.. plot::
context:close-figs
>>> import arviz as az
>>> non_centered_data = az.load_arviz_data('non_centered_eight')
>>> fig, axes = az.plot_forest(non_centered_data,
>>>                            kind='forestplot',
>>>                            var_names=['theta'],
>>>                            combined=True,
>>>                            ridgeplot_overlap=3,
>>>                            figsize=(9, 7))
>>> axes[0].set_title('Estimated theta for 8 schools model')
Ridgeplot
.. plot::
context:close-figs
>>> fig, axes = az.plot_forest(non_centered_data,
>>>                            kind='ridgeplot',
>>>                            var_names=['theta'],
>>>                            combined=True,
>>>                            ridgeplot_overlap=3,
>>>                            colors='white',
>>>                            figsize=(9, 7))
>>> axes[0].set_title('Estimated theta for 8 schools model')