Я пытаюсь присвоить три возможных значения матрицы трем цветам при построении графика с использованием imagesc
в MATLAB.
Все, что я хочу, это imagesc()
, чтобы представить 0 как белый, 1 как черный и 2 как красный.
Первоначально imagesc()
делает это, но по мере прохождения цикла for цвета для 1 и 2 меняются местами.
Я попытался изменить порядок цветов, назначенных для colormap()
, но цвета по-прежнему меняются местами.
Вот мой код:
Grid = 10;
M = zeros(Grid);
M(3,1:3)=1;M(2,3)=1;M(1,2)=1;
Black = [0 0 0];
White = [1 1 1];
Red = [1 0 0];
Background = White;
colormap([Background; Red; Black])
figure()
imagesc(M)
... пока все хорошо.У меня есть пять черных квадратов в углу.
Однако, когда мой цикл продолжается и вводятся 2, матрица выглядит следующим образом:
0 0 0 0 0 0 0
0 2 1 0 0 0 0
1 0 1 0 0 0 0
0 1 1 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
, но теперь изображение показывает ЧЕРНЫЙ для 2 и КРАСНЫЙ для 1.
Как мне сохранить отношения цвет-значение?