Я хотел бы вывести 2-ю матрицу на печать от numpy как цветная матрица в Matplotlib. У меня есть следующий массив 9 на 9:
my_array = diag(ones(9))
# plot the array
pcolor(my_array)
Я хотел бы установить первые три элемента диагонали, чтобы быть определенным цветом, следующие три, которые будут другим цветом и последними тремя другой цвет. Я хотел бы указать цвет шестнадцатеричной строкой кода, как "#FF8C00". Как я могу сделать это?
Кроме того, как я могу выбрать цвет 0-значных элементов для pcolor?
Чтобы элементы были разных цветов, присвойте им разные значения:
my_array = diag([1,1,1,2,2,2,3,3,3])
Чтобы указать цвета, попробуйте:
from matplotlib.colors import ListedColormap, NoNorm
cmap = ListedColormap(['#E0E0E0', '#FF8C00', '#8c00FF', '#00FF8C'])
pcolor(my_array,cmap=cmap,norm=NoNorm())
Аргумент norm = NoNorm ()
позволяет избежать любое масштабирование значений матрицы, так что 0 получает первый цвет в списке, 1 - второй и т. д.