在matplotlib中绘制字幕框的方法是什么?

31 投票
2 回答
31092 浏览
提问于 2025-04-16 16:22

有没有什么函数可以用来在图形/图表下面画一个说明框,使用的是matplotlib?我在谷歌上搜索过,但没有找到这样的函数。

说明框示例

像图片中显示的那样就很好。

2 个回答

1

你可以使用 legend 函数(也就是 pylab.legend)。如果你想把图例放在坐标轴外面,可以给它指定一个位置(用 loc 这个参数)。

补充:这个 legend 函数还有一个 title 参数,可能会帮助你实现想要的效果。不过,如果你只是想要一个没有图例的标题,保罗的回答会更合适。

37

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

如果你想要自动换行,可以看看 这篇帖子

我不太确定能否帮你实现完全对齐的效果。

撰写回答