Matplotlib размещение текста, например. suptitle внутри рамки
До сих пор я разместил свои субтитры над фреймом, например:
![enter image description here]()
Как я могу получить субтитры из выше фрейма в фрейм?
До сих пор у меня есть решение, которое просто печатает текст и устанавливает его в нужную позицию при вычислении xlim и ylim. Однако это ошибочно, и если текст отличается, он просто выглядит сильным. Есть ли способ установить suplabel в рамку? Или просто разместите текст под рамкой и по центру?
было бы очень удобно, если бы мне не нужно было знать о данных, которые отображаются внутри фрейма.
Ответы
Ответ 1
Ваше решение с помощью text
также является моим решением. Однако вам не нужно вычислять позицию на основе xlim и ylim. Если вы установите transform=ax.transAxes
, координаты для позиционирования текста считаются относительными относительно ограничивающего окна осей (0,0 - нижний левый угол). Например:
data = range(1,10);
fig = figure()
for i in range(6):
ax = fig.add_subplot(2,3,i)
ax.text(.5,.9,'centered title',
horizontalalignment='center',
transform=ax.transAxes)
ax.plot(data)
show()
![Plot showing text relative to axes bounding box.]()
Надеюсь, что это поможет!
Ответ 2
Вы считали axes.title
? Вы можете увидеть документацию для него здесь. Вы также можете передавать координаты x и y как аргументы ключевого слова ax.title("my title", x=0.5, y=0.6)
.
Надеюсь, что это поможет.