2011-12-16 48 views
1

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

基督教

回答

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与保持上是一种更快的方式绘图。

2

@ Bill的回答很好,但如果您有权访问统计工具箱,您还可以尝试gscatter

+0

+1非常好,我之前没有遇到过这个。 – 2011-12-16 12:34:25