matlab中的条件分散

时间:2011-12-16 10:53:09

标签: matlab

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

基督教

2 个答案:

答案 0 :(得分:5)

散射的第四个参数允许您指定颜色。来自the documentation

  

散射(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');

enter image description here

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

答案 1 :(得分:2)

@ Bill的答案很好,但是如果您有权访问Statistics Toolbox,您也可以尝试gscatter