отображение цветного 2-го массива в matplotlib в Python

Я хотел бы вывести 2-ю матрицу на печать от numpy как цветная матрица в Matplotlib. У меня есть следующий массив 9 на 9:

my_array = diag(ones(9))

# plot the array
pcolor(my_array)

Я хотел бы установить первые три элемента диагонали, чтобы быть определенным цветом, следующие три, которые будут другим цветом и последними тремя другой цвет. Я хотел бы указать цвет шестнадцатеричной строкой кода, как "#FF8C00". Как я могу сделать это?

Кроме того, как я могу выбрать цвет 0-значных элементов для pcolor?

6
задан 13 June 2010 в 23:51
поделиться

1 ответ

Чтобы элементы были разных цветов, присвойте им разные значения:

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 - второй и т. д.

2
ответ дан 17 December 2019 в 20:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: