【问题标题】:how to set a color to a value in matlab?如何在matlab中将颜色设置为一个值?
【发布时间】:2013-01-27 18:01:54
【问题描述】:

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

那么我怎样才能将颜色映射到一个值呢? 一个单元格包含 0,显示为黑色。 一个单元格包含 0.5,显示为绿色。 一个单元格包含等于或大于 1 的数字,显示为黄色。

谢谢!

【问题讨论】:

  • 这不清楚。请发布一些代码来演示您正在尝试的内容。
  • 矩阵的维数是多少?您是在绘制曲线、图像还是曲面?
  • 也许你可以张贴一张你的情节应该是什么样子的图片。

标签: matlab map colors matrix


【解决方案1】:

我想像你所说的那样做的最简单的方法是:

  • colormap 定义为:

    cm = 颜色图([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;

【讨论】:

    猜你喜欢
    • 2021-07-08
    • 1970-01-01
    • 1970-01-01
    • 2013-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-12
    相关资源
    最近更新 更多