Plot Creators#

Within the plotting framework, the plot creators are the classes that perform all the actual plotting work. This document describes what they are and how they can be used.

For further reading on the individual plot creators, see:

Hint

For guidance about specializing plot creators, see here.


A Family of Plot Creators#

AbstractPlotCreator - The plot creator interface#

As defined in dantro.abc, the AbstractPlotCreator defines the interface for plot creators, i.e.: all the methods the PlotManager expects and requires to create a plot.

By implementing the abstract methods, the behavior of the plot creators can be specified.

Part of the interface is that a plot creator will be initialized with the knowledge about a DataManager, that holds the data that should be used for plotting.

base.BasePlotCreator - Implementing shared behaviour#

The base.BasePlotCreator implements the basic functionality that all derived plot creators profit from: Parsing the plot configuration, selecting and transforming data, and retrieving and invoking a so-called plot function (where the actual visualization is implemented).

Continue reading about this here.

Hint

If you want to have full control of how your plot is generated, this is the creator to use: You can configure it to simply invoke an arbitrary plot function and pass it the available data – and you take care of all the rest within that function.

In case you want dantro to automate more parts of the plotting routine, continue reading about more advanced creators below.

PyPlotCreator - Creating matplotlib.pyplot-based plots#

The PyPlotCreator specializes on creating plots using matplotlib.pyplot. By making these assumptions about the used plotting backend, it allows to generalize plot setup, options, and style. Furthermore, it allows to easily define animation update functions.

For more information, have a look at the dedicated documentation page.

UniversePlotCreator & psp.MultiversePlotCreator#

Implemented in dantro.plot.creators.psp are plot creators that work tightly with data stored in a ParamSpaceGroup, i.e.: data that was created from a ParamSpace parameter sweep. These are derived from PyPlotCreator and inherit all its abilities.

There are two different plot creators to work with this kind of data. The UniversePlotCreator allows selecting a certain subspace of the parameter space and creating a plot for each of these so-called “universes”.

The MultiversePlotCreator on the other hand uses the capabilities of the ParamSpaceGroup and the data transformation framework to select and combine data from many universes, thus working on the “multiverse”.

See Plots from Multidimensional Data for more information.