2017-05-02 3 views

答えて

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)] 

*)編集:追加されましリスト内包液

+0

オフ棘をオンリスト内包ソリューション、あなたのイメージとグリッドを埋めます私が探していたものですが、実際には同様の質問の他の提案よりかなり速いです – jimh

0

まず、いくつかのリストを持つに違いはありませんまたは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 
関連する問題