So, here is what all we need to know about matplotlib, an excellent visualization library in python
Source: matplotlib.org
This is the region of image with the data space, as I mentioned before a given figure can contain any number of Axes, but an Axes can contain only one figure. The Axes contains 2 Axis objects in case of 2D Data (There is difference between Axes and Axis).
This also take care of data limits in the graph like below.
axes.Axes.set_xlim() and axes.Axes.set_ylim(), each Axes has a title like set_title(), and x label set_xlabel(), and y label can be set _ylabel().
This are line objects which take care setting the graph limits and generating the marks on axis and string labels on the this marks, the location of this marks can be determined by Locator object and string labels via Formatter Object.
Basically, whatever we see on figure is an artist itself, (Figure, Axes, Axis Objects). This also includes Text, Line2D, Collection and Path objects when figure is rendered all this artists are drawn on canvas.
We see lot of documentation and websites mentioning lot about the backends, the reason is matplotlib supports various targets like for example on jupyter notebook, inline functions, wxpython, pygtk and so on
To support all this use cases, matplotlib targets backend
Whether using interactive mode or programmatically plotting the graphs, rendering can be very painful sometimes for matplotlib, so the library provides some ways to reduce the rendering time for the graphs.
I'm sure you have gained some knowledge from this thread and whenever you go on using matplotlib next time, you will have the all new different experience.
This is under #BridgetTeachings.
#matplotlib
#numpy
#MachineLearning
#visualization
#NN