RcConfigurator.context(*args, mode=0, file=None, **kwargs)[source]

Temporarily modify the rc settings in a “with as” block.

  • *args – Dictionaries of rc names and values.

  • file (str, optional) – Filename from which settings should be loaded.

  • **kwargsrc names and values passed as keyword arguments. If the name has dots, simply omit them.

Other Parameters

mode ({0, 1, 2}, optional) – The context mode. Dictates the behavior of get, fill, and category within a “with as” block when called with context=True.

The options are as follows:

  1. Matplotlib’s builtin settings and ProPlot’s added settings are all returned, whether or not context has changed them.

  2. Unchanged matplotlib settings return None. All of ProPlot’s added settings are returned whether or not context has changed them. This is used in the __init__ call to format. When a lookup returns None, format does not apply it.

  3. All unchanged settings return None. This is used during user calls to format.


This is used by ProPlot internally but may also be useful for power users. It was invented to prevent successive calls to format from constantly looking up and re-applying unchanged settings. These gratuitous lookups increased runtime significantly, and resulted in successive calls to format overwriting the previous calls.


The below applies settings to axes in a specific figure using context.

>>> import proplot as plot
>>> with plot.rc.context(linewidth=2, ticklen=5):
>>>     fig, ax = plot.subplots()
>>>     ax.plot(data)

The below applies settings to a specific axes using format, which uses context internally.

>>> import proplot as plot
>>> fig, ax = plot.subplots()
>>> ax.format(linewidth=2, ticklen=5)