Matplotlib - Как установить текст ниже других объектов, когда они перекрываются? - PullRequest
2 голосов
/ 09 апреля 2011

при использовании matplotlib, как я могу установить текст ниже других объектов, таких как Rectangles, LineCollections и т. Д.? Или, в общем, как matplotlib определяет порядок появления объектов, когда они перекрывают друг друга? В отличие от гридов, здесь нет функции, подобной Axes.set_textbelow (), я также гуглил эту тему, но не получил удовлетворительного результата.

Ниже приведена биржевая диаграмма, которую я рисую с помощью matplotlib. Обратите внимание на раздел громкости, я хочу установить примечания (белый текст) ниже полос громкости, где они перекрываются. Примечания - это текстовые объекты, нарисованные с помощью Axes.text (), столбцы объема - объекты LineCollection, нарисованные с помощью Axes.vlines ().

stock chart I draw with matplotlib

1 Ответ

3 голосов
/ 09 апреля 2011

Вы, вероятно, ищете zorder:

from pylab import *

fig = figure(1)
fig.clf()
ax = subplot(111)
rect = matplotlib.patches.Rectangle((0.2,0.2), 0.3, 0.3, fc = '0.5', ec = '0.0')
ax.add_patch(rect)
ax.text(.4, .4, "Help me, there is a rectangle stuck under me!")

fig = figure(2)
fig.clf()
ax = subplot(111)
rect = matplotlib.patches.Rectangle((0.2,0.2), 0.3, 0.3, fc = '0.5', ec = '0.0')
ax.add_patch(rect)
ax.text(.4, .4, "Help me, I'm stuck under a rectangle!", zorder = -1)

show()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...