Цветовая карта не состоит из правильного цвета

#python #numpy #matplotlib

#python #numpy #matplotlib

Вопрос:

Мне нужно создать цветовую карту с 256 цветами от черного до красного и белого и отобразить красный канал в Python, но он выглядит как единственный черно-красный его дисплей, и я не понимаю, почему… Также только красный канал не отображается. Вот мой код:

 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(128):
    colormap[i,0] = i/127 
    colormap[i 128,0] = 1 #from line 128 incolo I have 1 on first position because I've already reached red
    colormap[i 128,2] = (i 1)/128
    
#display the thing:
colormap = mpl.colors.ListedColormap(colormap)
plt.figure(), plt.imshow(img, cmap = colormap)
  

введите описание изображения здесь

Ответ №1:

Вы должны добавить эту строку в свой код :

 colormap[i 128,1] = (i 1)/128
  

У вас не могло быть белого цвета, потому что зеленое значение всегда было равно 0.

Чтобы перейти от красного к белому, у вас должны быть следующие значения RGB :

 [1,0,0]
...
[1,0.5,0.5]
...
[1,1,1]