1. ホーム
  2. パイソン

[解決済み】Matplotlib の異なるサイズのサブプロット

2022-03-26 04:02:19

質問

ある図に2つのサブプロットを追加する必要があります。1つのサブプロットは、2つ目のサブプロットの約3倍の幅が必要です(高さは同じ)。私はこれを以下の方法で実現しました。 GridSpeccolspan の引数を使って行いたいのですが figure PDFに保存できるように。最初の図を調整するには figsize をコンストラクタの引数として与えますが、2 番目のプロットのサイズはどのように変更すればよいのでしょうか。

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

import numpy as np
import matplotlib.pyplot as plt 

# generate some data
x = np.arange(0, 10, 0.2)
y = np.sin(x)

# plot it
f, (a0, a1) = plt.subplots(1, 2, gridspec_kw={'width_ratios': [3, 1]})
a0.plot(x, y)
a1.plot(y, x)

f.tight_layout()
f.savefig('grid_figure.pdf')

  • 質問が正統派なので、垂直サブプロットを使った例を紹介します。
# plot it
f, (a0, a1, a2) = plt.subplots(3, 1, gridspec_kw={'height_ratios': [1, 1, 3]})

a0.plot(x, y)
a1.plot(x, y)
a2.plot(x, y)

f.tight_layout()