As described in Chapter 1, Anatomy of Matplotlib, Matplotlib has a three-layer architecture. The top layer is called the scripting layer, and is implemented with pyplot() API. This API has been designed for users without much programming experience, so it shields the user from the complexities of creating and rendering the plots using the bottom two layers (artist and backend). For complex applications that use advanced features, such as patches, collections, interactive plotting using events, callbacks, animation, and widgets, we will have to use an object-oriented API. However, it requires quite a bit of Python coding experience to leverage full potential of this API. As new versions of Matplotlib get released, more and more of these features are moving into the pyplot API, reducing the dependence on an object-oriented API.
The name object-oriented API is a bit...