when using matplotlib, how can I set the text to be below other objects, like Rectangles, LineCollections, etc ? Or more generally, how does matplotlib decide the order the objects will appear when they overlap each other? Unlike with grids, there’s no function like Axes.set_textbelow() to use, I also googled this subject but got no satisfying result.
Below is the stock chart I draw with matplotlib. Note the volume section, I want to set the notes(white text) to be below the volume bars where they overlap. The notes are Text objects drawn with Axes.text(), the volume bars are LineCollection objects drawn with Axes.vlines().

You are probably looking for zorder: