PyMCModel.to_graphviz#
- PyMCModel.to_graphviz(*, var_names=None, formatting='plain', save=None, figsize=None, dpi=300)#
Produce a graphviz Digraph from a PyMC model.
- Requires graphviz, which may be installed most easily with
conda install -c conda-forge python-graphviz
Alternatively, you may install the graphviz binaries yourself, and then pip install graphviz to get the python bindings. See http://graphviz.readthedocs.io/en/stable/manual.html for more information.
- Parameters:
var_names (iterable of variable names, optional) – Subset of variables to be plotted that identify a subgraph with respect to the entire model graph
formatting (str, optional) – one of { “plain” }
save (str, optional) – If provided, an image of the graph will be saved to this location. The format is inferred from the file extension.
figsize (tuple[int, int], optional) – Width and height of the figure in inches. If not provided, uses the default figure size. It only affect the size of the saved figure.
dpi (int, optional) – Dots per inch. It only affects the resolution of the saved figure. The default is 300.
Examples
How to plot the graph of the model.
import numpy as np from pymc import HalfCauchy, Model, Normal J = 8 y = np.array([28, 8, -3, 7, -1, 1, 18, 12]) sigma = np.array([15, 10, 16, 11, 9, 11, 10, 18]) with Model() as schools: eta = Normal("eta", 0, 1, shape=J) mu = Normal("mu", 0, sigma=1e6) tau = HalfCauchy("tau", 25) theta = mu + tau * eta obs = Normal("obs", theta, sigma=sigma, observed=y) schools.to_graphviz()
Note that this code automatically plots the graph if executed in a Jupyter notebook. If executed non-interactively, such as in a script or python console, the graph needs to be rendered explicitly:
# creates the file `schools.pdf` schools.to_graphviz().render("schools")