2

私は 4x3 のサブプロット グリッドをプロットしていますが、それらの間の間隔を固定したいと考えています。以下を参照してください。ただし、図はウィンドウ全体に均等に配置されており、固定されたスペースはありません。アドバイスありがとうございます。

import matplotlib.pyplot as plt
import numpy as np

data = np.random.rand(10,10)

fig, axes = plt.subplots(4, 3)

axes[0, 0].imshow(data)
axes[1, 0].imshow(data)
axes[2, 0].imshow(data)
axes[3, 0].imshow(data)

axes[0, 1].imshow(data)
axes[1, 1].imshow(data)
axes[2, 1].imshow(data)
axes[3, 1].imshow(data)

axes[0, 2].imshow(data)
axes[1, 2].imshow(data)
axes[2, 2].imshow(data)
axes[3, 2].imshow(data)

plt.setp(axes, xticks=[], yticks=[])

plt.subplots_adjust(left=None, bottom=None, right=None, top=None, wspace=.05, hspace=.05)

plt.show()
4

2 に答える 2

1

gridspecを使用して、各サブプロットの間隔と位置を直接制御できます。詳細については、こちらをご覧ください。次に例を示します。

import matplotlib.gridspec as gridspec
import matplotlib.pyplot as plt
import numpy as np

data = np.random.rand(10,10)

plt.figure(figsize = (6,6)) # set the figure size to be square

gs = gridspec.GridSpec(4, 3)
# set the space between subplots and the position of the subplots in the figure
gs.update(wspace=0.1, hspace=0.4, left = 0.1, right = 0.7, bottom = 0.1, top = 0.9) 


for g in gs:
    ax = plt.subplot(g)
    plt.imshow(data)

plt.show()

グリッドスペックの例

于 2013-10-28T17:13:33.697 に答える