在Matlab散点图中显示有意义颜色的数据

时间:2012-10-27 04:19:39

标签: matlab colors plot data-visualization scatter

我有大约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值。如果有一种方法可以用绘图命令来做到这一点,我很乐意这样做。

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

谢谢,

菲尔

1 个答案:

答案 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)