我有大约9000个x,y个位置,每个位置都有一个值,比如介于-1和1之间。我们称之为温度。
我想绘制每个点的红色/蓝色与点的温度成比例。
我可以将RGB中的值从[0 0 1]缩放到[1 0 0],G = 0,R + B = 1。我希望最冷点,温度-1,用[0 0 1]绘制,纯蓝色,中间点可能在[.4 0 .6],非常热点在[ .95 0 .5]
我认为有一种方法可以使用scatter命令执行此操作,但我无法弄清楚如何为每个点提供不同的RGB值。如果有一种方法可以用绘图命令来做到这一点,我很乐意这样做。
我很感激你能给我的任何指导。
谢谢,
菲尔
答案 0 :(得分: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)