如何在matlab中将颜色设置为值?

时间:2013-02-12 12:19:13

标签: matlab map colors matrix

假设我有一个带整数的矩阵。 我想将值映射到颜色。 例如,值0将显示为黑色,值0.5将显示为绿色等。 我尝试了色彩映射,但它不能按我的意愿工作。 在colormap中,当我更改矩阵中的值时,它也会影响其他值。

那么如何将颜色映射到值? 一个单元格包含0表示为黑色。 一个单元格包含0.5,表示为绿色。 单元格包含的数字等于或大于1,显示为黄色。

谢谢!

1 个答案:

答案 0 :(得分:0)

我想要做的最简单的方法就是:

  • colormap定义为:

    cm = colormap([0 0 0; 0 1 0; 1 1 0]);

  • caxis定义为:

    caxis([0 1]);

  • 使用pcolor之类的内容来表示您的数据。

所有这些假设你想要在2D中表示某种颜色的地图。如果您打算绘制一条简单的曲线,但更改数据点的颜色,则应手动完成,单独绘制它们并手动设置每个点的颜色,具体取决于数据的值:

% plot y versus x variable
for ii = 1:length(x)
    if y(ii) < 0.5
        color = [0 0 0];
    elseif y(ii) < 1
        color = [0 1 0];
    else
        color = [1 1 0];
    end
    plot(x(ii), y(ii), '.', 'Color', color);
    hold on;
end
hold off;