Подтвердить что ты не робот

Есть ли способ рисовать заголовок в matplotlib

Есть ли функция для рисования окна подписи под фигурой/графом, используя matplotlib? Я искал google и не нашел никакой такой функции.

Captionbox example

что-то вроде того, что показано на изображении, было бы здорово.

4b9b3361

Ответ 1

Используйте pyplot.text. Вот пример кода:

from matplotlib import pyplot as plt
import numpy as np

x = np.arange(0,3,.25)
y = np.sin(x)
txt = '''
    Lorem ipsum dolor sit amet, consectetur adipisicing elit,
    sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
    Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris
    nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in
    reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
    pariatur. Excepteur sint occaecat cupidatat non proident, sunt in
    culpa qui officia deserunt mollit anim id est laborum.'''

fig = plt.figure()
ax1 = fig.add_axes((.1,.4,.8,.5))
ax1.bar(x,y,.2)
fig.text(.1,.1,txt)
plt.show()

Он производит это: enter image description here

Если вы хотите автоматическую перенос слов, посмотрите этот пост.

Я не уверен, что смогу помочь вам получить полное обоснование.

Ответ 2

Вы можете использовать функцию legend (pylab.legend). Если вы хотите его за пределами осей, вы можете передать ему определенное местоположение (loc аргумент ключевого слова).

Изменить: Функция легенды принимает аргумент title, который может помочь получить то, что вы хотите. Однако для заголовка без какой-либо легенды ответ Павла более подходит.

Ответ 3

Сохраняя график как изображение, можем ли мы сохранить заголовок на том же изображении?