1

我有大约 9000 个 x,y 位置,每个位置都有一个值,比如介于 -1 和 1 之间。我们称之为温度。

我想用与点温度成比例的红色/蓝色来绘制每个点。

我可以在 G=0 和 R+B=1 的情况下将 RGB 值从 [0 0 1] 缩放到 [1 0 0]。我想用[0 0 1]绘制最冷的点,温度为-1,纯蓝色,中间点可能在[.4 0 .6],一个非常热的点在[ .95 0 .5]

我认为有一种方法可以使用 scatter 命令执行此操作,但我无法弄清楚如何为每个点赋予不同的 RGB 值。如果有一种方法可以使用 plot 命令执行此操作,我很乐意这样做。

我很感激你能给我的任何指导。

谢谢,

菲尔

4

1 回答 1

2

使用cdata属性:

cdata = [0 0 0;
         1 0 0;
         0 1 0;
         0 0 1;
         1 0 1];
figure;
scatter(1:5, 1:5, 'o','cdata',cdata)
于 2012-10-27T04:28:52.610 回答