web-dev-qa-db-ja.com

テキストのMatplotlib配置フレーム内の字幕

これまでのところ、次のように、字幕をフレームの上に配置しています。

enter image description here

aboveフレームからフレームにサブタイトルを取得するにはどうすればよいですか?

これまでのところ、テキストを印刷し、xlimとylimを計算して適切な位置に設定するソリューションがあります。ただし、これはエラーが発生しやすく、テキストが異なる場合は見栄えがするだけです。フレームにサプラベルを設定する方法はありますか?または、テキストをフレームの下に配置して中央揃えにしますか?フレーム内に表示されるデータについて知る必要がない場合は、本当に便利です。

24
tarrasch

textを使用したソリューションも、私の頼りになるソリューションです。ただし、xlimとylimに基づいて位置を計算する必要はありません。 transform=ax.transAxesを設定すると、テキストを配置するための座標は、Axesの境界ボックスを基準にしたものと見なされます(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.

お役に立てば幸いです。

31
Tobold

_axes.title_を検討しましたか?あなたはそれのためのドキュメンテーションを見ることができます ここ 。 x座標とy座標をキーワード引数ax.title("my title", x=0.5, y=0.6)として渡すこともできます。

お役に立てれば。

29
dmcdougall