前提・実現したいこと
データ(reference)を2次元で可視化したいのですが、形が違うと言われてしまいます。
どう修正したら良いでしょうか。
print(type(reference)):<class 'numpy.ndarray'>
print(reference.shape):(800, 96, 80)
発生している問題・エラーメッセージ
$ python test.py Traceback (most recent call last): File "test.py", line 54, in <module> ax.contourf(x,y,a1, cmap='gray') File "/home/selen/.pyenv/versions/3.7.3/lib/python3.7/site-packages/matplotlib/__init__.py", line 1565, in inner return func(ax, *map(sanitize_sequence, args), **kwargs) File "/home/selen/.pyenv/versions/3.7.3/lib/python3.7/site-packages/matplotlib/axes/_axes.py", line 6334, in contourf contours = mcontour.QuadContourSet(self, *args, **kwargs) File "/home/selen/.pyenv/versions/3.7.3/lib/python3.7/site-packages/matplotlib/contour.py", line 822, in __init__ kwargs = self._process_args(*args, **kwargs) File "/home/selen/.pyenv/versions/3.7.3/lib/python3.7/site-packages/matplotlib/contour.py", line 1419, in _process_args x, y, z = self._contour_args(args, kwargs) File "/home/selen/.pyenv/versions/3.7.3/lib/python3.7/site-packages/matplotlib/contour.py", line 1477, in _contour_args x, y, z = self._check_xyz(args[:3], kwargs) File "/home/selen/.pyenv/versions/3.7.3/lib/python3.7/site-packages/matplotlib/contour.py", line 1530, in _check_xyz f"Shapes of x {x.shape} and z {z.shape} do not match") TypeError: Shapes of x (96, 96) and z (800, 96) do not match
該当のソースコード
Python
1a = reference 2 3fig = plt.figure(figsize=(16, 8)) 4x = np.linspace(0, a.shape[1], a.shape[1]) # 5y = np.linspace(0, a.shape[2], a.shape[2]) # 6x , y = np.meshgrid(x, y) 7 8axs = [] 9for i in range(10,a.shape[0],10): 10 ax = fig.add_subplot(2, 4, i // 10) 11 a1= np.maximum(a[:,:,i] , 0) 12 ax.contourf(x,y,a1, cmap='gray') 13 ax.set_title ("{}".format(i) ) 14 axs.append(ax) 15 16plt.show()
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/03 08:59
2020/07/03 09:47
2020/07/03 09:53