#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]