python matplotlib标题位置 - 有没有办法在matplotlib中绘制标题框



plt.annotate用法 title位置 (3)

是否有使用matplotlib在图形/图形下面绘制标题框的功能? 我搜索过谷歌并没有找到任何此类功能。

像图像中显示的东西会很棒。


Answers

使用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()

它产生了这个:

如果你想自动换行,请看看这篇文章

我不确定我是否可以帮助你让它完全合理。


您可以使用legend功能( pylab.legend )。 如果您希望它在轴外,您可以传递给它一个特定的位置( loc关键字参数)。

编辑:图例功能采用title参数,这可能有助于获得您想要的。 然而,对于没有任何传说的标题,保罗的回答更合适。


使用:

import matplotlib.pyplot as plt

plt.gcf().subplots_adjust(bottom=0.15)

为标签腾出空间。

编辑:

由于我给出了答案, matplotlib已经添加了tight_layout()函数。 所以我建议使用它:

plt.tight_layout()

应该为xlabel腾出空间。





python matplotlib