Colormap红色阴影

时间:2015-05-04 14:41:43

标签: arrays matlab colors

所以我有一个10x10矩阵 randMat ,它有1到4之间的随机整数和另一个零 map 的零,它的RGB值是四种颜色,即每种颜色一行,三列,红色,绿色和蓝色。

randMat = randi(4,10)
map = zeros(4,3);

使用for循环我已经为每一行地图分配了红色阴影的RGB值,红色值从1/4到4/4 = 1.因此每行应该有一个红色值i / 4和蓝色和绿色值为零。我还制作了地图色彩图

for i=1:4
  map(i,1) = i/4;
end

colormap(map);

现在的问题是我想用4种红色可视化 randMat ,但它一直显示为蓝色。我错过了什么?

image(randMat)
axis off
axis square

1 个答案:

答案 0 :(得分:0)

当您使用部分时,我能想象的唯一解释是您不运行生成色彩映射的部分。

clc
clear
close all

randMat = randi(4,10)
map = zeros(4,3)
%%
for i=1:4
  map(i,1) = i/4;
end

colormap(map);

%%
image(randMat)
axis off
axis square

如果您运行第一部分然后运行最后一部分,则图像显示为蓝色。如果你随后运行所有三个它会显示为红色,当然如果你一起运行它也会显示为红色。我从自己的经验中知道,在使用部分时,通常只需使用 Crtl + Enter 来运行单个部分。所以只需确保运行所有相关部分。