web-dev-qa-db-ja.com

matplotlibにキャプションボックスを描画する方法はありますか

Matplotlibを使用して図/グラフの下にキャプションボックスを描画する機能はありますか?私はグーグルを検索しましたが、そのような機能は見つかりませんでした。

Captionbox example

画像に示されているようなものは素晴らしいでしょう。

30
Anake

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

自動折り返しが必要な場合は、 この投稿 をご覧ください。

私はあなたがそれを完全に正当化するのを助けることができるかどうかわかりません。

34
Paul

legend関数(pylab.legend)。 Axesの外側に配置する場合は、特定の場所(locキーワード引数)に渡すことができます。

編集:凡例関数はtitle引数を取ります。これは、必要なものを取得するのに役立つ場合があります。ただし、凡例のないキャプションの場合は、Paulの答えの方が適しています。

1
Gael Varoquaux