If using a GUI backend with pyplot, display the figure window.

If the figure was not created using figure, it will lack a FigureManagerBase, and this method will raise an AttributeError.


This does not manage an GUI event loop. Consequently, the figure may only be shown briefly or not shown at all if you or your environment are not managing an event loop.

Use cases for include running this from a GUI application (where there is persistently an event loop running) or from a shell, like IPython, that install an input hook to allow the interactive shell to accept input while the figure is also being shown and interactive. Some, but not all, GUI toolkits will register an input hook on import. See Command prompt integration for more details.

If you're in a shell without input hook integration or executing a python script, you should use with block=True instead, which takes care of starting and running the event loop for you.

warnbool, default: True

If True and we are not running headless (i.e. on Linux with an unset DISPLAY), issue warning when called on a non-GUI backend.

Examples using

Polygon Selector

Polygon Selector