Matplotlib Pyplot imshow colormap不工作

Matplotlib Pyplot imshow colormap不工作,matplotlib,imshow,colormap,Matplotlib,Imshow,Colormap,我有以下代码: plt.figure(figsize=(15, 20)) min_v = np.min(net_l0) max_v = np.max(net_l0) for i in range(8): for j in range(4): num = i*4 + j plt.subplot(8,4, num+1) w_filt = net_l0[num, :3] w_filt = w_filt.swapaxes(0, 1)

我有以下代码:

plt.figure(figsize=(15, 20))
min_v = np.min(net_l0)
max_v = np.max(net_l0)
for i in range(8):
    for j in range(4):
        num = i*4 + j
        plt.subplot(8,4, num+1)
        w_filt = net_l0[num, :3]
        w_filt = w_filt.swapaxes(0, 1).swapaxes(1, 2)
        imgplot = plt.imshow(w_filt, vmin=min_v, vmax=max_v, interpolation='none')
        imgplot.set_cmap('gray')
        plt.colorbar()
plt.show()

但是,由于某些原因,colormap不会仅应用于colorbar?我尝试将
cmap
关键字添加到
imshow
,但仍然不起作用。知道我做错了什么吗?

确保您显示的阵列实际上是二维的。如果(例如)加载一个实际有三个通道的灰度图像,则imshow会很高兴地向您显示该图像,但不会对其应用颜色贴图。毕竟,图片是“已着色的”。

请确保所显示的阵列实际上是二维的。如果(例如)加载一个实际有三个通道的灰度图像,则imshow会很高兴地向您显示该图像,但不会对其应用颜色贴图。毕竟,图片“已经是彩色的了。”

你能用一个最小的工作示例,例如使用一些随机数据来重现这一点吗?我以前从未见过这个问题;指定例如
plt.imshow(…,cmap=plt.cm.gray)
应该有效。您是否可以用一个最小的工作示例(例如使用一些随机数据)来重现这一点?我以前从未见过这个问题;指定例如
plt.imshow(…,cmap=plt.cm.gray)
应该可以工作。