Python Matplotlib颜色映射显示不正确的颜色

Python Matplotlib颜色映射显示不正确的颜色,python,numpy,matplotlib,Python,Numpy,Matplotlib,我需要制作一个从红色到白色的256色彩色贴图,并在Python中显示红色通道,但看起来这件事做得不对,我不明白为什么。这是我的代码: 将numpy导入为np 将matplotlib导入为mpl 将matplotlib.pyplot作为plt导入 #如何创建填充有零的数组 img=np.零([256256]) colormap1=np.零([256,1]) #图片: 对于范围内的i(256): img[:,i]=i#在所有列上,i的值都相同 #要从红色变为白色,我们将有:[1,0,0]…,[1,0

我需要制作一个从红色到白色的256色彩色贴图,并在Python中显示红色通道,但看起来这件事做得不对,我不明白为什么。这是我的代码:

将numpy导入为np
将matplotlib导入为mpl
将matplotlib.pyplot作为plt导入
#如何创建填充有零的数组
img=np.零([256256])
colormap1=np.零([256,1])
#图片:
对于范围内的i(256):
img[:,i]=i#在所有列上,i的值都相同
#要从红色变为白色,我们将有:[1,0,0]…,[1,0.5,0.5],…[1,1,1]
对于范围内的i(128):
colormap1[i,1]=i/127
#展示物品:
colormap1=mpl.colors.ListedColormap(colormap1)
plt.figure(),plt.imshow(img,cmap=colormap1)

您可以这样回答:

import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt

# How to create an array filled with zeros
img = np.zeros([256,256])
colormap = np.zeros([256,3])

#image:
for i in range(256):
    img[:,i] = i #on all columns I have the same value
    
#color map:
for i in range(256):
    colormap[i,0] = 1
    colormap[i,1] = (i+1)/256
    colormap[i,2] = (i+1)/256
    
#display the thing:
colormap = mpl.colors.ListedColormap(colormap)
plt.figure(), plt.imshow(img, cmap = colormap)
就像你在这里做的一样。
您只需编写代码的第二部分(从红色到白色),并以256步而不是128步完成即可。

“看起来这件事做错了”-请显示生成的图像