For us there are 3 typical use cases for displaying graphics with matplotlib:
- A python script displays some data and
waits for the user to close the figure window. This
is the blocking mode which invokes plt.show(). See 9.13.3 for an example.
- An application repeatedly sends graphics output to
the figure widget for e.g. monitoring purposes. Control always
stays at the application. This is the non-blocking mode which invokes plt.draw().
See 9.13.4 for an example.
- Detached applications, e.g. the MacroServer, produce
non-blocking graphics output. See 9.13.7 examples.