私は通常これを行う:私は、画像の複数のリストを持っており、そのリスト内のすべての画像が描画されるように、各リストで同じ機能を実行したい場合はmatplotlibに任意の数のサブプロットをプロットする方法は?私は2つのプロットを作りたいとき
f, (ax1, ax2) = plt.subplots(1, 2)
何?各リストには異なる数のイメージがあります。
私は通常これを行う:私は、画像の複数のリストを持っており、そのリスト内のすべての画像が描画されるように、各リストで同じ機能を実行したい場合はmatplotlibに任意の数のサブプロットをプロットする方法は?私は2つのプロットを作りたいとき
f, (ax1, ax2) = plt.subplots(1, 2)
何?各リストには異なる数のイメージがあります。
何について:
num_subplots = len(listoffigs)
axs = []
for i in range(num_subplots):
axs.append(plt.subplot(num_subplots, 1, i+1))
またはさらに短い、リスト内包のように:
num_subplots = len(listoffigs)
axs = [plt.subplot(num_subplots, 1, i+1) for i in range(num_subplots)]
*)編集:追加されましリスト内包液
まず、いくつかのリストを持つに違いはありませんまたは1つの長いリストであるため、すべてのリストを1つにまとめます。
biglist = list1 + list2 + list3
次に、リストの長さから必要なサブプロットの数を決定することができます。最も簡単な場合には正方形の格子を作り、
n = int(np.ceil(np.sqrt(len(biglist))))
fig, axes = plt.subplots(n,n)
軸の残りの部分については
for i, image in enumerate(biglist):
axes.flatten()[i].imshow(image)
が
while i < n*n:
axes.flatten()[i].axis("off")
i += 1
オフ棘をオンリスト内包ソリューション、あなたのイメージとグリッドを埋めます私が探していたものですが、実際には同様の質問の他の提案よりかなり速いです – jimh