web-dev-qa-db-ja.com

matplotlibでサブプロットのサイズを設定

図に複数のサブプロットが含まれている場合(私の場合は5×2)、サブプロットのサイズを設定する方法を疑問に思います。図全体をいくら大きくしても、サブプロットは常に小さく見える。この図のサブプロットのサイズを直接制御したいと思います。コードの簡略版を以下に貼り付けます。

import numpy as np
import matplotlib.pyplot as plt

x = np.random.randn(20)
y = np.random.randn(20)

fig = plt.figure(figsize=(20, 8))

for i in range(0,10):
    ax = fig.add_subplot(5, 2, i+1)
    plt.plot(x, y, 'o')
    ax.xaxis.set_visible(False)
    ax.yaxis.set_visible(False)
    # x and y axis should be equal length
    x0,x1 = ax.get_xlim()
    y0,y1 = ax.get_ylim()
    ax.set_aspect(abs(x1-x0)/abs(y1-y0))

plt.show()
fig.savefig('plot.pdf', bbox_inches='tight')
11
Andrej

図のサイズの幅と高さを次のように切り替えるだけです:

fig = plt.figure(figsize=(20, 8))

に:

fig = plt.figure(figsize=(8, 20))

ページ全体をプロットに使用します。

これにより、プロットが次のように変更されます。

enter image description here

に:

enter image description here

14
Mike Müller