1. ホーム
  2. python

[解決済み] matplotlibのタイトレイアウトを図と一緒に使うには?

2022-02-05 03:50:41

質問

見つけた tight_layout 関数を使用したい。私のアプリケーションでは、matplotlibのプロットをQt GUIに埋め込み、pyplotではなくfigureを使用しています。このような場合 tight_layout ということでしょうか?また、1つの図に複数の軸がある場合にも有効でしょうか?

どのように解決するのですか?

を呼び出すだけです。 fig.tight_layout() を通常通り使用します。( pyplot は単なる便利なラッパーです。ほとんどの場合、figureやaxesオブジェクトを素早く生成し、それらのメソッドを直接呼び出すためにのみ使用します)。

という違いはないはずです。 QtAgg バックエンドとデフォルトのバックエンドを比較します(もし比較するとしたら、それはバグです)。

import matplotlib.pyplot as plt

#-- In your case, you'd do something more like:
# from matplotlib.figure import Figure
# fig = Figure()
#-- ...but we want to use it interactive for a quick example, so 
#--    we'll do it this way
fig, axes = plt.subplots(nrows=4, ncols=4)

for i, ax in enumerate(axes.flat, start=1):
    ax.set_title('Test Axes {}'.format(i))
    ax.set_xlabel('X axis')
    ax.set_ylabel('Y axis')

plt.show()

タイトなレイアウトの前に

アフタータイトレイアウト

import matplotlib.pyplot as plt

fig, axes = plt.subplots(nrows=4, ncols=4)

for i, ax in enumerate(axes.flat, start=1):
    ax.set_title('Test Axes {}'.format(i))
    ax.set_xlabel('X axis')
    ax.set_ylabel('Y axis')

fig.tight_layout()

plt.show()

<イグ