2016-10-27 47 views
1

予備処理結果を視覚化する必要があります。これはnumpy ndarraysとしてのみ存在します。 これを行うには、matplotlibのpyplot(plt)とimshow + subplotsを使用しています。私はサブプロットの設定で印刷された第五配列を取得することはできませんのでサブプロット内の奇数個の配列を奇数個プロット

fig, ((mb_arr, mk_arr),(k10_b, k10_l)) = plt.subplots(3, 2, figsize=(16, 12)) 
mb_arr.imshow(mb_2014_array, cmap='gray', interpolation='nearest') 
mk_arr.imshow(mk_2014_array, cmap='gray', interpolation='nearest') 
k10_b.imshow(k10_build_array, cmap='gray', interpolation='nearest') 
k10_l.imshow(k10_lake_array, cmap='gray', interpolation='nearest') 
k10_f.imshow(k10_forest_array, cmap='gray', interpolation='nearest'); 

しかし、私は、4 5のうち結果で立ち往生しています。以下は、私は、現時点で使用していたコードであり、ここでのエラーは次のとおりです。

--> fig, ((mb_arr, mk_arr),(k10_b, k10_l), (k10_f,)) = plt.subplots(3, 2, figsize=(16, 12)) 

ValueError: too many values to unpack 

私は3×2のグリッドの最後の行が一つだけの要素が含まれますことを、指定する必要はどうすればよいですか?

答えて

1

私はhttp://www.python-course.eu/matplotlib_multiple_figures.php

import matplotlib.pyplot as plt 
import numpy as np 
x = np.linspace(0, 1, 1000) 
plt.figure() 
for i in range(1, 5): 
    plt.subplot(3,2,i) 
    plt.plot(np.sin(x)) 
plt.subplot(3,2,(5,6)) 
plt.plot(np.sin(x)) 
plt.show() 

imshowcmapinterpolationとを使用していました。

import matplotlib.pyplot as plt 
import numpy as np 
np.random.seed(2) 
x = np.random.randint(0, 255, [10, 20]) 
fig = plt.figure() 
for i in range(1, 5): 
    plt.subplot(3,2,i) 
    plt.imshow(x, cmap='gray', interpolation='nearest') 
plt.subplot(3,2,(5,6)) 
plt.imshow(x, cmap='gray', interpolation='nearest') 
plt.show() 
+0

はい、私はコースと例も見てきました。 'subplot'を使って、私はさまざまな配列を並べ替えることができます。 'subplots'メソッドを使用して解決する可能性はありますか? –

+0

なぜですか?私の編集された答えを見てください。 –

+0

申し訳ありませんが、私はあまりにも遅くそれを実現しました。あなたのソリューションは確実に機能します。あなたは 'subplots'でそれを動作させる方法を知っていますか? –

関連する問題