отображение цветного 2d массива в matplotlib в Python - PullRequest
6 голосов
/ 14 июня 2010

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

my_array = diag(ones(9))

# plot the array
pcolor(my_array)

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

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

1 Ответ

2 голосов
/ 14 июня 2010

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...