質問: plt.figure(figsize=(10, 10)) plt.imshow(results) plt.show() ``` python ``` ### 試したこと 個別では表示できるのですがランダムにいくつか表示しようとすると resultsに格納されない ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。
回答: > > Clipping input data to the valid range for imshow with RGB data ([0..1] for floats or [0..255] for integers). > > > エラーメッセージによると,RGB値を用いるimshow()では,引数の型がfloatsの時は引数の範囲は[0..1]で,型がintegersの時は[0..255]だと書いています。 generate_pattern()の返り値の型はintだと思われますが, np.zerosはデフォルトでfloat型になっています。 そのため,imshowの引数として直接generate_pattern()を渡した場合は望み通りにプロットされ, np.zerosに一度格納するとint型の値がfloat型にキャストされてしまい,エラーが起きてしまいます。 直す方法は色々あると思いますが,とりあえず, ``` results = np.zeros((8 * size + 7 * margin, 8 * size + 7 * margin, 3), np.uint8) ``` として,結果を格納するためのresultsを初めからint型にしておけば,期待通りに動くと思います。