MatplotlibDeprecationWarning: shading=‘flat’ when X and Y have the same dimensions as C is deprecated since 3.3. Either specify the corners of the quadrilaterals with X and Y, or pass shading=‘auto’, ‘nearest’ or ‘gouraud’, or set rcParams[‘pcolor.shading’]. This will become an error two minor releases later.
out = axes.pcolormesh(x_coords, y_coords, data, **kwargs)
我在网上找了很多这样debug,有些说直接屏蔽warning,有些说加个shading=‘auto’,但是这些都是不对的。问渠那得清如许,唯有源头活水来。我一点进来就看懂了。因为The grid specification with the least assumptions is shading=‘flat’ and if the grid is one larger than the data in each dimension, i.e. has shape (M+1, N+1). In that case X and Y specify the corners of quadrilaterals that are colored with the values in Z. 也就是说,y_coords要比data的对应维度的长度多1。就像我这里time_array=np.arange(D.shape[1]+1),加个1,问题就解决了。