Through a glass, darkly
Previously in this book, we have conflated the canvas and figure terms, at best giving an impression that the figure object was merely a container for the canvas object. When working above the canvas level, this conceptual model is sufficient. The truth, however, is more complicated. There are actually three objects in play: figure, canvas, and manager. We encountered the manager briefly in one of the examples in the previous chapter. While I would love to describe a very clean and inspired design involving these three objects, that would not be possible. Abstraction layers that hide away messy details are never simple. Initial appearances can often be misleading in understanding the relationships between them. Our discussion of the design should bring about a new level of clarity in how Matplotlib truly works, and hopefully some inspiration in new ways to use the library.
Tinker tailor soldier pylab_setup()
In this book, we have shown an attribute hierarchy of figure...