matplotlib
¶
Backend management¶
-
matplotlib.
use
(backend, *, force=True)[source]¶ Select the backend used for rendering and GUI integration.
Parameters: - backendstr
The backend to switch to. This can either be one of the standard backend names, which are case-insensitive:
- interactive backends: GTK3Agg, GTK3Cairo, MacOSX, nbAgg, Qt4Agg, Qt4Cairo, Qt5Agg, Qt5Cairo, TkAgg, TkCairo, WebAgg, WX, WXAgg, WXCairo
- non-interactive backends: agg, cairo, pdf, pgf, ps, svg, template
or a string of the form:
module://my.module.name
.- forcebool, default: True
If True (the default), raise an
ImportError
if the backend cannot be set up (either because it fails to import, or because an incompatible GUI interactive framework is already running); if False, ignore the failure.
See also
-
matplotlib.
interactive
(b)[source]¶ Set whether to redraw after every plotting command (e.g.
pyplot.xlabel
).
Default values and styling¶
-
class
matplotlib.
RcParams
(*args, **kwargs)[source]¶ A dictionary object including validation.
Validating functions are defined and associated with rc parameters in
matplotlib.rcsetup
.See also
-
matplotlib.
rc_context
(rc=None, fname=None)[source]¶ Return a context manager for temporarily changing rcParams.
Parameters: - rcdict
The rcParams to temporarily set.
- fnamestr or path-like
A file with Matplotlib rc settings. If both fname and rc are given, settings from rc take precedence.
See also
Examples
Passing explicit values via a dict:
with mpl.rc_context({'interactive': False}): fig, ax = plt.subplots() ax.plot(range(3), range(3)) fig.savefig('example.png') plt.close(fig)
Loading settings from a file:
with mpl.rc_context(fname='print.rc'): plt.plot(x, y) # uses 'print.rc'
-
matplotlib.
rc
(group, **kwargs)[source]¶ Set the current
rcParams
. group is the grouping for the rc, e.g., forlines.linewidth
the group islines
, foraxes.facecolor
, the group isaxes
, and so on. Group may also be a list or tuple of group names, e.g., (xtick, ytick). kwargs is a dictionary attribute name/value pairs, e.g.,:rc('lines', linewidth=2, color='r')
sets the current
rcParams
and is equivalent to:rcParams['lines.linewidth'] = 2 rcParams['lines.color'] = 'r'
The following aliases are available to save typing for interactive users:
Alias Property 'lw' 'linewidth' 'ls' 'linestyle' 'c' 'color' 'fc' 'facecolor' 'ec' 'edgecolor' 'mew' 'markeredgewidth' 'aa' 'antialiased' Thus you could abbreviate the above call as:
rc('lines', lw=2, c='r')
Note you can use python's kwargs dictionary facility to store dictionaries of default parameters. e.g., you can customize the font rc as follows:
font = {'family' : 'monospace', 'weight' : 'bold', 'size' : 'larger'} rc('font', **font) # pass in the font dict as kwargs
This enables you to easily switch between several configurations. Use
matplotlib.style.use('default')
orrcdefaults()
to restore the defaultrcParams
after changes.Notes
Similar functionality is available by using the normal dict interface, i.e.
rcParams.update({"lines.linewidth": 2, ...})
(butrcParams.update
does not support abbreviations or grouping).
-
matplotlib.
rcdefaults
()[source]¶ Restore the
rcParams
from Matplotlib's internal default style.Style-blacklisted
rcParams
(defined inmatplotlib.style.core.STYLE_BLACKLIST
) are not updated.See also
matplotlib.rc_file_defaults
- Restore the
rcParams
from the rc file originally loaded by Matplotlib. matplotlib.style.use
- Use a specific style file. Call
style.use('default')
to restore the default style.
-
matplotlib.
rc_file_defaults
()[source]¶ Restore the
rcParams
from the original rc file loaded by Matplotlib.Style-blacklisted
rcParams
(defined inmatplotlib.style.core.STYLE_BLACKLIST
) are not updated.
-
matplotlib.
rc_file
(fname, *, use_default_template=True)[source]¶ Update
rcParams
from file.Style-blacklisted
rcParams
(defined inmatplotlib.style.core.STYLE_BLACKLIST
) are not updated.Parameters: - fnamestr or path-like
A file with Matplotlib rc settings.
- use_default_templatebool
If True, initialize with default parameters before updating with those in the given file. If False, the current configuration persists and only the parameters specified in the file are updated.
-
matplotlib.
rc_params
(fail_on_error=False)[source]¶ Construct a
RcParams
instance from the default Matplotlib rc file.
-
matplotlib.
rc_params_from_file
(fname, fail_on_error=False, use_default_template=True)[source]¶ Construct a
RcParams
from file fname.Parameters: - fnamestr or path-like
A file with Matplotlib rc settings.
- fail_on_errorbool
If True, raise an error when the parser fails to convert a parameter.
- use_default_templatebool
If True, initialize with default parameters before updating with those in the given file. If False, the configuration class only contains the parameters specified in the file. (Useful for updating dicts.)
-
matplotlib.
get_configdir
()[source]¶ Return the string path of the the configuration directory.
The directory is chosen as follows:
- If the MPLCONFIGDIR environment variable is supplied, choose that.
- On Linux, follow the XDG specification and look first in
$XDG_CONFIG_HOME
, if defined, or$HOME/.config
. On other platforms, choose$HOME/.matplotlib
. - If the chosen directory exists and is writable, use that as the configuration directory.
- Else, create a temporary directory, and use it as the configuration directory.
-
matplotlib.
matplotlib_fname
()[source]¶ Get the location of the config file.
The file location is determined in the following order
$PWD/matplotlibrc
$MATPLOTLIBRC
if it is not a directory$MATPLOTLIBRC/matplotlibrc
$MPLCONFIGDIR/matplotlibrc
- On Linux,
$XDG_CONFIG_HOME/matplotlib/matplotlibrc
(if$XDG_CONFIG_HOME
is defined)- or
$HOME/.config/matplotlib/matplotlibrc
(if$XDG_CONFIG_HOME
is not defined)
- On other platforms,
-
$HOME/.matplotlib/matplotlibrc
if$HOME
is defined - Lastly, it looks in
$MATPLOTLIBDATA/matplotlibrc
, which should always exist.
Logging¶
-
matplotlib.
set_loglevel
(level)[source]¶ Set Matplotlib's root logger and root logger handler level, creating the handler if it does not exist yet.
Typically, one should call
set_loglevel("info")
orset_loglevel("debug")
to get additional debugging information.Parameters: - level{"notset", "debug", "info", "warning", "error", "critical"}
The log level of the handler.
Notes
The first time this function is called, an additional handler is attached to Matplotlib's root handler; this handler is reused every time and this function simply manipulates the logger and handler's level.