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

在Matlab散点图中以有意义的颜色显示数据,matlab,colors,plot,data-visualization,scatter,Matlab,Colors,Plot,Data Visualization,Scatter,我有大约9000个x,y位置,每个位置都有一个值,比如说在-1和1之间。我们称之为温度 我想用与点的温度成比例的红色/蓝色绘制每个点 我可以用RGB将值从[0 0 1]缩放到[1 0 0],G=0,R+B=1。我想把温度为-1的最冷点用[01]表示,纯蓝色,一个中层点可能在[.40.6],一个非常热的点可能在[.95 0.5] 我认为有一种方法可以通过scatter命令实现这一点,但我不知道如何为每个点提供不同的RGB值。如果有一种方法可以用plot命令来实现这一点,我很乐意这样做 如果你能给我

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

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

我可以用RGB将值从[0 0 1]缩放到[1 0 0],G=0,R+B=1。我想把温度为-1的最冷点用[01]表示,纯蓝色,一个中层点可能在[.40.6],一个非常热的点可能在[.95 0.5]

我认为有一种方法可以通过scatter命令实现这一点,但我不知道如何为每个点提供不同的RGB值。如果有一种方法可以用plot命令来实现这一点,我很乐意这样做

如果你能给我任何指导,我将不胜感激

谢谢,


Phil

使用
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)

非常感谢你。我想我能做到。我可以为每一行cdata计算适当的值,然后如您所示使用scatter命令。反应很快。我很高兴。