matlab中的条件分散

cs0*_*815 1 matlab

是否有可能在matlab(2D)中进行散射,其中标记的颜色以第三列为条件.我可以使用循环并保持但也许有一种更简单的方法.

基督教

Bil*_*ham 5

散射的第四个参数允许您指定颜色.从文档:

散射(X,Y,S,C)

...

C确定每个标记的颜色.当C是与X和Y长度相同的矢量时,C中的值线性映射到当前色彩映射中的颜色.当C是1乘3矩阵时,它将标记的颜色指定为RGB值.如果散点图中有3个点并希望将颜色作为色彩图的索引,则C应为3×1矩阵.C也可以是颜色字符串(有关颜色字符串说明符列表,请参阅ColorSpec).

尝试类似的东西:

X = rand(1, 10);
Y = rand(1, 10);
colour = randi(3, 1, 10)

colour =

 2     1     3     1     3     1     2     2     3     1

scatter(X, Y, [], colour, 'filled');
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

如果您的数据集很大,并且几乎没有不同的颜色类别,我倾向于发现使用带有hold的绘图是一种更快的绘图方式.