【问题标题】:Colormap red shades颜色图红色阴影
【发布时间】:2015-07-14 00:10:42
【问题描述】:

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

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

使用 for 循环,我为地图的每一行分配了红色阴影的 RGB 值,红色值从 1/4 到 4/4 = 1。所以每一行的红色值应该是 i/4蓝色和绿色值为零。我还制作了 map 颜色图

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

colormap(map);

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

image(randMat)
axis off
axis square

【问题讨论】:

  • 我运行你的代码时变红了。是否有其他东西干扰了您的颜色图?
  • 它非常适合我。 colormap(map)后打开的图不要关闭,也可以在image(randMat)后写colormap
  • 这很奇怪......所以当我将代码的最后一部分放在它自己的部分时,即使用 %% 它会变成蓝色,但没有它,它会变成红色。总之谢谢大家帮忙~

标签: arrays matlab colors


【解决方案1】:

当您使用部分时,我能想到的唯一解释是您不运行生成颜色图的部分。

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 来运行单个部分。因此,请确保运行所有相关部分。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-07-29
    • 2020-09-19
    • 2012-09-18
    • 2011-12-19
    • 1970-01-01
    • 1970-01-01
    • 2018-12-02
    相关资源
    最近更新 更多