Matplotlib で図のサイズを変更する方法

  1. Matplotlib で図を開始するときに図のサイズを設定する
  2. Matplotlib で Figure サイズを設定するための rcParams
  3. set_size_inches は Figure が作成された後に Matplotlib の Figure サイズを変更する

Matplotlib で描画される Figure サイズを設定し、変更することもできます。このチュートリアルでは、フィギュアを作成する前後にフィギュアのサイズを操作する方法を示します。

Matplotlib で図を開始するときに図のサイズを設定する

pyplot.figure はパラメーターで指定された属性を持つ新しい Figure を作成します。figsize は Figure のサイズをインチ単位で定義します。

Matplotlib で Figure のサイズを設定するには figsize

from matplotlib import pyplot as plt

plt.figure(figsize=(4,4))
plt.show()

Matplotlib で Figure サイズを設定するための rcParams

rcParams は Matplotlib のプロパティを含む辞書オブジェクトです。rcParams のキーfigure.figsize に値として Figure サイズを割り当てることができます。

from matplotlib import pyplot as plt

plt.rcParams["figure.figsize"] = (4, 4)
plt.plot([[1,2], [3, 4]])
plt.show()

plt.rcParamsplt.plot の前または後に配置できます。同じスクリプトで作成された図は、割り当てられた図と同じサイズを共有します。

同じスクリプトで figure.figsize を複数回割り当てることができますが、作成された Figure には最初の設定のみが適用されます。

from matplotlib import pyplot as plt

plt.rcParams["figure.figsize"] = (6, 6)
plt.plot([[1,2], [3, 4]])
plt.figure()
plt.rcParams["figure.figsize"] = (2, 2)
plt.plot([[1,2], [3, 4]])
plt.show()

両方の図のサイズは (6, 6) ですが、(2, 2) ではありません。

set_size_inches は Figure が作成された後に Matplotlib の Figure サイズを変更する

Matplotlib で、図が既に作成されている場合、set_size_inches を使用して図のサイズを変更できます。

from matplotlib import pyplot as plt

fig1 = plt.figure(1)
plt.plot([[1,2], [3, 4]])
fig2 = plt.figure(2)
plt.plot([[1,2], [3, 4]])

fig1.set_size_inches(3, 3)
fig2.set_size_inches(4, 4)

plt.show()

ここで、fig1fig2 は作成された 2つの図への参照です。

set_size_inches にはオプション forward があり、デフォルト値は True です。これは、新しいサイズが与えられた後、キャンバスのサイズが自動的に更新されることを意味します。

comments powered by Disqus