This documentation covers a development version of IPython. The development version may differ significantly from the latest stable release.


This documentation covers IPython versions 6.0 and higher. Beginning with version 6.0, IPython stopped supporting compatibility with Python versions lower than 3.3 including all versions of Python 2.7.

If you are looking for an IPython version compatible with Python 2.7, please use the IPython 5.x LTS release and refer to its documentation (LTS is the long term support release).

Module: core.pylabtools

Pylab (matplotlib) support utilities.

10 Functions


Get a list of matplotlib figures by figure numbers.

If no arguments are given, all available figures are returned. If the argument list contains references to invalid figures, a warning is printed but the function continues pasting further figures.


figs (tuple) – A tuple of ints giving the figure numbers of the figures to return.

IPython.core.pylabtools.figsize(sizex, sizey)

Set the default figure size to be [sizex, sizey].

This is just an easy to remember, convenience wrapper that sets:

matplotlib.rcParams['figure.figsize'] = [sizex, sizey]
IPython.core.pylabtools.print_figure(fig, fmt='png', bbox_inches='tight', base64=False, **kwargs)

Print a figure to an image, and return the resulting file data

Returned data will be bytes unless fmt='svg', in which case it will be unicode.

Any keyword args are passed to fig.canvas.print_figure, such as quality or bbox_inches.

If base64 is True, return base64-encoded str instead of raw bytes for binary-encoded image formats

Added in version 7.29: base64 argument

IPython.core.pylabtools.retina_figure(fig, base64=False, **kwargs)

format a figure as a pixel-doubled (retina) PNG

If base64 is True, return base64-encoded str instead of raw bytes for binary-encoded image formats

Added in version 7.29: base64 argument


Factory to return a matplotlib-enabled runner for %run.


safe_execfile (function) – This must be a function with the same interface as the safe_execfile() method of IPython.


  • A function suitable for use as the runner argument of the %run magic

  • function.

IPython.core.pylabtools.select_figure_formats(shell, formats, **kwargs)

Select figure formats for the inline backend.

  • shell (InteractiveShell) – The main IPython instance.

  • formats (str or set) – One or a set of figure formats to enable: ‘png’, ‘retina’, ‘jpeg’, ‘svg’, ‘pdf’.

  • **kwargs (any) – Extra keyword arguments to be passed to fig.canvas.print_figure.

IPython.core.pylabtools.find_gui_and_backend(gui=None, gui_select=None)

Given a gui string return the gui and mpl backend.

  • gui (str) – Can be one of (‘tk’,’gtk’,’wx’,’qt’,’qt4’,’inline’,’agg’).

  • gui_select (str) – Can be one of (‘tk’,’gtk’,’wx’,’qt’,’qt4’,’inline’). This is any gui already selected by the shell.


  • A tuple of (gui, backend) where backend is one of (‘TkAgg’,’GTKAgg’,

  • ’WXAgg’,’Qt4Agg’,’module (//matplotlib_inline.backend_inline’,’agg’).)


Activate the given backend and set interactive to True.

IPython.core.pylabtools.import_pylab(user_ns, import_all=True)

Populate the namespace with pylab-related values.

Imports matplotlib, pylab, numpy, and everything from pylab and numpy.

Also imports a few names from IPython (figsize, display, getfigs)

IPython.core.pylabtools.configure_inline_support(shell, backend)

Deprecated since version 7.23: use matplotlib_inline.backend_inline.configure_inline_support()

Configure an IPython shell object for matplotlib use.

  • shell (InteractiveShell instance)

  • backend (matplotlib backend)